{
  "contractName": "WitnetOracleTrustableReef",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "_factory",
          "type": "address"
        },
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "_registry",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultWithCallbackGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultWithCallbackRevertGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_sstoreFromZeroGas",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OwnableInvalidOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "OwnableUnauthorizedAccount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrancyGuardReentrantCall",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "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": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "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": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "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": "value",
          "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": "string",
          "name": "versionTag",
          "type": "string"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "witnetSLA",
          "type": "tuple"
        }
      ],
      "name": "WitnetQuery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponse",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackGas",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponseDelivered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackActualGas",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "evmCallbackRevertReason",
          "type": "string"
        }
      ],
      "name": "WitnetQueryResponseDeliveryFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryRewardUpgraded",
      "type": "event"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "channel",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "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": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_txGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_nanoWitPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_revenues",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_expenses",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "_bytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "fetchQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNextQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQuery",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint24",
                  "name": "gasCallback",
                  "type": "uint24"
                },
                {
                  "internalType": "uint72",
                  "name": "evmReward",
                  "type": "uint72"
                },
                {
                  "internalType": "bytes",
                  "name": "witnetBytecode",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "witnetRAD",
                  "type": "bytes32"
                },
                {
                  "components": [
                    {
                      "internalType": "uint8",
                      "name": "committeeSize",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint64",
                      "name": "witnessingFeeNanoWit",
                      "type": "uint64"
                    }
                  ],
                  "internalType": "struct WitnetV2.RadonSLA",
                  "name": "witnetSLA",
                  "type": "tuple"
                }
              ],
              "internalType": "struct WitnetV2.Request",
              "name": "request",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "reporter",
                  "type": "address"
                },
                {
                  "internalType": "uint64",
                  "name": "finality",
                  "type": "uint64"
                },
                {
                  "internalType": "uint32",
                  "name": "resultTimestamp",
                  "type": "uint32"
                },
                {
                  "internalType": "bytes32",
                  "name": "resultTallyHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "resultCborBytes",
                  "type": "bytes"
                }
              ],
              "internalType": "struct WitnetV2.Response",
              "name": "response",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Query",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryEvmReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "gasCallback",
              "type": "uint24"
            },
            {
              "internalType": "uint72",
              "name": "evmReward",
              "type": "uint72"
            },
            {
              "internalType": "bytes",
              "name": "witnetBytecode",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "witnetRAD",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint8",
                  "name": "committeeSize",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "witnessingFeeNanoWit",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetV2.RadonSLA",
              "name": "witnetSLA",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Request",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponseStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.ResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultCborBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        }
      ],
      "name": "getQueryStatusBatch",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus[]",
          "name": "_status",
          "type": "uint8[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "postRequest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_queryUnverifiedBytecode",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_witnetQueryResultTimestamp",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "queryId",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "queryResultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "queryResultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "queryResultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitnetOracleReporter.BatchResult[]",
          "name": "_batchResults",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_batchReward",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_reporters",
          "type": "address[]"
        }
      ],
      "name": "setReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "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": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "upgradeQueryEvmReward",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "_resultMaxSize",
          "type": "uint16"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint24",
          "name": "_callbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "estimateBaseFeeWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultWithCallbackGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultWithCallbackRevertGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sstoreFromZeroGas\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"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\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"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\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"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\":\"value\",\"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\":\"string\",\"name\":\"versionTag\",\"type\":\"string\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"name\":\"WitnetQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponse\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackGas\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponseDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackActualGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"evmCallbackRevertReason\",\"type\":\"string\"}],\"name\":\"WitnetQueryResponseDeliveryFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryRewardUpgraded\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"channel\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_resultMaxSize\",\"type\":\"uint16\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint24\",\"name\":\"_callbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"estimateBaseFeeWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nanoWitPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_revenues\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_expenses\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_bytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"fetchQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQuery\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"response\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryEvmReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponseStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultCborBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"}],\"name\":\"getQueryStatusBatch\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus[]\",\"name\":\"_status\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_queryUnverifiedBytecode\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_witnetQueryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"queryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"queryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"queryResultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetOracleReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"}],\"name\":\"reportResultBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchReward\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"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\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"upgradeQueryEvmReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address,address,bytes32,string)\":{\"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\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"estimateBaseFee(uint256,bytes32)\":{\"details\":\"Underestimates if the size of returned data is greater than `resultMaxSize`. \",\"params\":{\"gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"radHash\":\"The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry.\"}},\"estimateBaseFee(uint256,uint16)\":{\"details\":\"Underestimates if the size of returned data is greater than `_resultMaxSize`. \",\"params\":{\"_resultMaxSize\":\"Maximum expected size of returned data (in bytes).\"}},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"params\":{\"_callbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\"}},\"extractWitnetDataRequests(uint256[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"_queryIds\":\"Query identifies.\"}},\"fetchQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryRequest(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\"}},\"getQueryResponseStatus(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultCborBytes(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultError(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isReporter(address)\":{\"params\":{\"_reporter\":\"The address to be checked.\"}},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"details\":\"Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.\",\"params\":{\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\",\"_queryUnverifiedBytecode\":\"The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique identifier of the data request.\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\"}},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\",\"_witnetQueryResultTimestamp\":\"Timestamp at which the reported value was captured by the Witnet blockchain. \"}},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"details\":\"Fails only if called from unauthorized address.\",\"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.\"}},\"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.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"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.\"}},\"upgradeQueryEvmReward(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Posted' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board OVM-compatible (Optimism) \\\"trustable\\\" implementation.\",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"},\"WitnetQuery(uint256,uint256,(uint8,uint64))\":{\"notice\":\"Emitted every time a new query containing some verified data request is posted to the WRB.\"},\"WitnetQueryResponse(uint256,uint256)\":{\"notice\":\"Emitted when a query with no callback gets reported into the WRB.\"},\"WitnetQueryResponseDelivered(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a query with a callback gets successfully reported into the WRB.\"},\"WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)\":{\"notice\":\"Emitted when a query with a callback cannot get reported into the WRB.\"},\"WitnetQueryRewardUpgraded(uint256,uint256)\":{\"notice\":\"Emitted when the reward of some not-yet reported query is upgraded.\"}},\"kind\":\"user\",\"methods\":{\"estimateBaseFee(uint256,bytes32)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFee(uint256,uint16)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"notice\":\"Estimate the minimum reward required for posting a data request with a callback.\"},\"estimateReportEarnings(uint256[],bytes,uint256,uint256)\":{\"notice\":\"Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings.\"},\"extractWitnetDataRequests(uint256[])\":{\"notice\":\"Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries.\"},\"fetchQueryResponse(uint256)\":{\"notice\":\"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQuery(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryEvmReward(uint256)\":{\"notice\":\"Gets the current EVM reward the report can claim, if not done yet.\"},\"getQueryRequest(uint256)\":{\"notice\":\"Retrieves the RAD hash and SLA parameters of the given query.\"},\"getQueryResponse(uint256)\":{\"notice\":\"Retrieves the Witnet-provable result, and metadata, to a previously posted request.    \"},\"getQueryResponseStatus(uint256)\":{\"notice\":\"Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue.\"},\"getQueryResultCborBytes(uint256)\":{\"notice\":\"Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query.\"},\"getQueryResultError(uint256)\":{\"notice\":\"Gets error code identifying some possible failure on the resolution of the given query.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"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.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request.\"},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result.\"},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request. \"},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request.\"},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeQueryEvmReward(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\":{\"project:/contracts/core/customs/WitnetOracleTrustableReef.sol\":\"WitnetOracleTrustableReef\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"project:/contracts/WitnetOracle.sol\":{\"keccak256\":\"0x84ef8d2ebcba273e4bc23a5ee414a1213df55d1b4e496197a146031fea3a4874\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a6e31964ed08c4c9dfe5279b4ffe9eeba6e759f15901e080e174e98e96a7f5\",\"dweb:/ipfs/QmTghzVFf2EHnfnHejgFGRBjanXYcstK9ftVaYmHWJfk8w\"]},\"project:/contracts/WitnetRequestBytecodes.sol\":{\"keccak256\":\"0x2a79d919dd79c0e3f857e6bee08368ad0b463188aced4a52de29270ed0f5f3d2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://290d6013ee9f75fedbbb7726527a637ea2ae7a5da0ad118ecc43b298846f0bb0\",\"dweb:/ipfs/QmU8AZtPyctrrvxdmH297p595ZMS6DgcD6djSFKNxAqYMs\"]},\"project:/contracts/WitnetRequestFactory.sol\":{\"keccak256\":\"0x3c66f27d7c1db0e662c37d98005c4cbd871ceb75e97079d7bf673fb75d59c858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52adb318b870d0825718125e94fdbdd0e968ced09926420e2543b0ca4c6eb579\",\"dweb:/ipfs/QmYack87Q2UTfQb8KLLEPFBrMJgN2o6PaPqPNSc95McPVH\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x2b2f56fc69bf0e01f6f1062202d1682cd394fa3b3d9ff2f8f833ab51c9e866cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8017f76a71e4a52a5a5e249081c92510bac5b91f03f727e66ff4406238521337\",\"dweb:/ipfs/QmdWcPAL3MGtxGdpX5CMfgzz4YzxYEeCiFRoGHVCr8rLEL\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x9cea47781e0005266e14fadf8d1ee565d0814d4d51b30dced11bdee37b663060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb1f843f53c693f4b5a8f32249ac2eb93095671b99c90aa7c6d335eb7153e827\",\"dweb:/ipfs/QmSLvVGCcg2FZVWPB82yVb57SFixkuDm2BqjvgzJpnYfZp\"]},\"project:/contracts/core/customs/WitnetOracleTrustableReef.sol\":{\"keccak256\":\"0xb77a74aaff7e0aa3296a108598145138622df2e94a27250ff88c2e2a1fbe089f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd4b93b36e25eb735ae42911c217d4edcc6fc6d396d766f41f1a18a242282cff\",\"dweb:/ipfs/QmTbscc86uN9rMrxjk2zEHRbRNM3ZyM87j8Fs5zEqyFfjP\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableBase.sol\":{\"keccak256\":\"0xeb14d9ac86e9983b41cc3a307acd4e6546c9c3f790234ca1c208aa4c189a27df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73c7f71f22a0cf9e70681641b131ba42233c6bd03c4170d5ac153153de206c04\",\"dweb:/ipfs/QmPMKe45EGWbUoDPTF2Y8VDZ8Q3eEfbJFHt8DW9Y5x6NYn\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol\":{\"keccak256\":\"0x3e4ce76102aef381af61296fb19e5fa1e36682cb13f0c21b882b590b06efc218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae39d2d0043a5b073177eb94f876dda7a2531d99f01162852d513dee36a7465e\",\"dweb:/ipfs/QmdGnCi4m478KEUdFv5w9Zqmmdc1SgmYB6KeRtbW4MC41P\"]},\"project:/contracts/data/WitnetOracleDataLib.sol\":{\"keccak256\":\"0x03c8b61605f0c5324047aa99c896fe189933e3e9a59b070b9b3ea6141f7db960\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cedd0416337f718a44bbbaf53efa99ba490f7de1e6ab45f6bdf29e03082aa29d\",\"dweb:/ipfs/Qmb8RUaZEFX5CvE1VTYpTrm1EhM62gAUcZ4dGt3w39gZBA\"]},\"project:/contracts/interfaces/IWitnetConsumer.sol\":{\"keccak256\":\"0xf90fbcf0a59428c0ac13a3903214656060a95175adfdef8c11a7e16675b849e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2606640d3f343051ea18dfb8e136dfdb73ceecd8016c82ddb73d67ad39a30e0\",\"dweb:/ipfs/QmTADVW4M8pge6pGfenFAauEDk4yZEy78o5ksZiKGwP3DT\"]},\"project:/contracts/interfaces/IWitnetOracle.sol\":{\"keccak256\":\"0x5dbb04fce5e05675325232a735c46617378982b48dac2138aca0c6cc95e6e4d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7447a70455478239500e16aebe5dce6676dc86307d22f662761d8e9f7c5d1276\",\"dweb:/ipfs/QmVkvA4Mt6G1JXxE8ebxKGAjT1WvNbp5QMKg9sUKdrJjhv\"]},\"project:/contracts/interfaces/IWitnetOracleEvents.sol\":{\"keccak256\":\"0x0442f474f253dc1f6bd6a4f153c3adb2abe5f6f0f24c76d1baf666185e61e659\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://535e8efcfc5693669d9bd2b6f62e6fc65aca19b7de355a27152e4362b410540d\",\"dweb:/ipfs/QmVZRXgku1cZewhoucebaiBKAyUjF2dmEzYrzGvjPzbwN9\"]},\"project:/contracts/interfaces/IWitnetOracleReporter.sol\":{\"keccak256\":\"0xf4726c5c522b99ce01c2c870c259ebb8dc1563a25df3d715ed78cff89a8bb122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d4d7205c416fc2927856c2ab64a7d2d5374900c6ad41320f512a0f2e17f215\",\"dweb:/ipfs/QmW8gmJ5rkd4K7ahPQ6KuCQ5wdnhoZJTpSL5iPkZcg2dAe\"]},\"project:/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"keccak256\":\"0xf7dccb4e47d281ce229a9dc219fb2b30dea26f6ad80225f21c75b103d5ab1230\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://814f304ff435f64bbcac9ac512ca636c3245f522f87285909c9a9e0ec6dc5368\",\"dweb:/ipfs/QmXtmoYRgm2iXQmLUmVoRz8d5PNqrZXid4SgX4BoDs8rcm\"]},\"project:/contracts/interfaces/IWitnetRequestBytecodes.sol\":{\"keccak256\":\"0x8da168bee9a78442216965976b1f29087f760f37dcb09337283242599ed1cbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e120623262ee0559913bdae56c0a7921147dfe08ada7ea81061b14e2fc38c5e1\",\"dweb:/ipfs/Qmbxe8XRrH6ZjJHiR6YYzcZV1jnSWwo9iBYz5r6GJ6To5G\"]},\"project:/contracts/interfaces/IWitnetRequestFactory.sol\":{\"keccak256\":\"0x3b19ec4a976745ba2646e7e1886d647ef30ad678460a712c93bbfb4405b57f1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa759ae15b7d4da622a81d50933474910959ac490d8b63ea2e7ed8608859a9c9\",\"dweb:/ipfs/QmRckCu7eBBP5fn9ff6djs7VbdhFc7sxYb2yqDr4go66jV\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetErrorsLib.sol\":{\"keccak256\":\"0x6cc28a70034f65099ec7e69d03a6c9cb643a77032c0e6d76532b77b036ef8436\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44eff62b48c4daf5606fae9b04dca6201af4336909d5966c2a2503c866b9efb0\",\"dweb:/ipfs/QmSc4qNo2ymtCevvgDKESYuVi1JD7PCWbMKfDoEhNwj4aS\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project:/contracts/patterns/Ownable.sol\":{\"keccak256\":\"0x494bda32f9a218d9c33ea82112129c0933ab52f57eabfbf0d14a8742a3370800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c4cf04ebb052fed9d15cf93ff4523955ee311aa4425ee85f0e80b4489c94e76\",\"dweb:/ipfs/QmfMf4WD7woTaQSTbJxxoan2aXSeY7ovY5NoipSBw5rMPK\"]},\"project:/contracts/patterns/Ownable2Step.sol\":{\"keccak256\":\"0x7033d8133957a291cf9b8be30bfc4b95e6414a20995911d1b5df8ea149580604\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e20a079adc224113306392d27e0cf202c6c4a7678c4705fd3bbbca99c1e9b816\",\"dweb:/ipfs/QmWrFv2SbSokhrWhwL94sW5x1HyT7rX5f4Scowe4bWHHqu\"]},\"project:/contracts/patterns/Payable.sol\":{\"keccak256\":\"0x83401b23b1c144561e674e86738e0d907c8fa15d90d79254415b3f5f215035c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e031f9a24c7030cd2d160a64a581fd3a69a06d7dc71bcf704b48f391c3d63fc6\",\"dweb:/ipfs/QmVpX6PdfgPGJZp3W5H4CGqVUqmNx9ttb4V5cz3YgBTypQ\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/ReentrancyGuard.sol\":{\"keccak256\":\"0x1470caf4bd78b79f706e28a8a85c95a6e13ec33eda04275e5da84464130831e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c974fb4dc29718a84f9ab5fa3f8c25c7f889050a38445e16c3ead5ff9d4b4bab\",\"dweb:/ipfs/QmbuGjkSjngbTZMRPijL9p56fP9cK5jMnWsFmvYAQj3qAY\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0xbeb025c71f037acb1a668174eb6930631bf397129beb825f2660e5d8cf19614f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe6ce4dcd500093ae069d35b91829ccb471e1ca33ed0851fb053fbfe76c78aba\",\"dweb:/ipfs/QmT7huvCFS6bHDxt7HhEogJmyvYNbeb6dFTJudsVSX6nEs\"]}},\"version\":1}",
  "bytecode": "0x610240604052336101005263baeca88b60e01b6101605234801561002257600080fd5b50604051615c6d380380615c6d833981016040819052610041916101b6565b87878787878787878787878760008083836040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000815250823360006001600160a01b0316816001600160a01b0316036100c457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100cd81610135565b5030608052151560c052600160025560e091909152805160209091012061012052506001600160a01b03908116610140529485166101a05250505016610180526101c0939093526101e0919091526102005261022052506102389a5050505050505050505050565b600180546001600160a01b031916905561014e81610151565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461014e57600080fd5b600080600080600080600080610100898b0312156101d357600080fd5b88516101de816101a1565b60208a01519098506101ef816101a1565b60408a0151909750801515811461020557600080fd5b60608a015160808b015160a08c015160c08d015160e0909d01519b9e9a9d50929b919a9099929850909650945092505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051615928610345600039600081816129c901526131ad015260006129f5015260008181612a350152612a7d015260006131d7015260008181610903015281816116b6015281816116fe015281816117c901526118860152600081816106c50152818161185c01528181611a140152611f4401526000610870015260006109a00152600061052e0152600061094e01526000611aa001526000818161055f0152611c5f015260005050600081816104e401528181610839015281816115eb015281816116450152818161194c015261196e01526159286000f3fe6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b604051602001610317949392919061430b565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461439f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b3660046143cf565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a9366004614446565b610bb9565b3480156103ba57600080fd5b506103ce6103c9366004614487565b610f23565b6040516103579190614520565b3480156103e757600080fd5b506103fb6103f6366004614487565b6111ba565b60405161035791906145b5565b34801561041457600080fd5b50610428610423366004614487565b611320565b60405161035791906145f2565b34801561044157600080fd5b506102b1610450366004614665565b61132b565b61038061046336600461471b565b6113e4565b34801561047457600080fd5b506102b1610483366004614766565b6114ef565b34801561049457600080fd5b506104a86104a3366004614446565b6119e3565b60405161035791906147eb565b3480156104c157600080fd5b506102b16104d0366004614665565b611a85565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611a99565b604051610357919061484f565b3480156105b157600080fd5b506105c56105c0366004614446565b611ac9565b6040516103579190614872565b3480156105de57600080fd5b506103806105ed3660046148fe565b611b8b565b3480156105fe57600080fd5b5061034b61060d36600461439f565b611c5b565b34801561061e57600080fd5b5061063261062d366004614487565b611cb1565b6040516103579190614950565b34801561064b57600080fd5b5061038061065a366004614487565b60009081526000805160206158d38339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611cbc565b3480156106aa57600080fd5b506102b1611cd0565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b5061038061075236600461496e565b611d47565b34801561076357600080fd5b50610598610772366004614487565b611d54565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b036600461499e565b611df2565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614a1b565b611f21565b6103806107f8366004614a3d565b611ff7565b34801561080957600080fd5b5061081d610818366004614487565b612152565b6040516103579190614ab2565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614487565b6122cb565b6040516103579190614ade565b3480156108cb57600080fd5b506103806108da366004614b2b565b612501565b3480156108eb57600080fd5b5061059861261c565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612653565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614b92565b612670565b6102b16109e3366004614487565b612730565b3480156109f457600080fd5b506102b1610a0336600461439f565b61282e565b348015610a1457600080fd5b506103ce610a23366004614487565b61289f565b610a3061261c565b81604051602001610a42929190614bcf565b60408051601f198184030181529082905262461bcd60e51b8252610a689160040161484f565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614c38565b610aae906030614c5a565b90506000610abd601086614c73565b610ac8906030614c5a565b905060398260ff161115610ae457610ae1600783614c5a565b91505b60398160ff161115610afe57610afb600782614c5a565b90505b8160f81b83600081518110610b1557610b15614c95565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614c95565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b6000610bb26001836129c1565b9392505050565b6000610c1b6000805160206158b38339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612aab565b60005b82811015610f12576001610c55858584818110610c3d57610c3d614c95565b9050602002810190610c4f9190614cab565b35612abd565b6003811115610c6657610c666145c8565b14610d4b577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610c9e57610c9e614c95565b9050602002810190610cb09190614cab565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610ceb90600190600401614950565b600060405180830381865af4158015610d08573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d309190810190614d1a565b604051610d3e929190614d4e565b60405180910390a1610f0a565b838382818110610d5d57610d5d614c95565b9050602002810190610d6f9190614cab565b610d80906040810190602001614d67565b63ffffffff161580610dc35750838382818110610d9f57610d9f614c95565b9050602002810190610db19190614cab565b610dbf906060810190614d82565b1590505b15610e41577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610dfb57610dfb614c95565b9050602002810190610e0d9190614cab565b35610e1661261c565b604051602001610e269190614dc8565b60408051601f1981840301815290829052610d3e9291614d4e565b610efd848483818110610e5657610e56614c95565b9050602002810190610e689190614cab565b35858584818110610e7b57610e7b614c95565b9050602002810190610e8d9190614cab565b610e9e906040810190602001614d67565b868685818110610eb057610eb0614c95565b9050602002810190610ec29190614cab565b60400135878786818110610ed857610ed8614c95565b9050602002810190610eea9190614cab565b610ef8906060810190614d82565b612b3e565b610f079083614e01565b91505b600101610c1e565b508015610b9f57610b9f3382612d20565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915281600380610f5d83612abd565b6003811115610f6e57610f6e6145c8565b14610ffd576040516353e8875160e11b8152610ff89073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b600060405180830381865af4158015610fcb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff39190810190614d1a565b610a28565b6111b3565b8361104661100a82612d56565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612aab565b61104f85612d56565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906110b490614e14565b80601f01602080910402602001604051908101604052809291908181526020018280546110e090614e14565b801561112d5780601f106111025761010080835404028352916020019161112d565b820191906000526020600020905b81548152906001019060200180831161111057829003601f168201915b505050505081525050935061114d6000805160206158b383398151915290565b60008681526001918201602052604081208181559182908290611172908301826141cf565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906111ad60068501826141cf565b50505050505b5050919050565b6111fe6040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b61120782612d56565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061125f90614e14565b80601f016020809104026020016040519081016040528092919081815260200182805461128b90614e14565b80156112d85780601f106112ad576101008083540402835291602001916112d8565b820191906000526020600020905b8154815290600101906020018083116112bb57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612d74565b611333612e8c565b60005b81518110156113a957600082828151811061135357611353614c95565b6020026020010151905060006113746000805160206158b383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611336565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516113d99190614e48565b60405180910390a150565b60006113f1600184611f21565b61142a81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612aab565b61146861143882600a614e89565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612aab565b8261149e61147582612eb9565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612aab565b6114aa85856000612f12565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516114df93929190614ec4565b60405180910390a1505092915050565b6000546001600160a01b0316606081611542576060838060200190518101906115189190614f0b565b909350905061152683612fe6565b8080602001905181019061153a9190614f5b565b91505061159c565b611585826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612aab565b828060200190518101906115999190614f5b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061160d57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611643576116436040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526116e7907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612aab565b6117ba630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177e9190614ff4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612aab565b611941306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611849919061501e565b6001600160a01b031614801561191157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611906919061501e565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612aab565b61194a81612fff565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119c9611a99565b6040516119d6919061484f565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611a40907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161503b565b600060405180830381865af4158015611a5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bb29190810190615085565b611a8d612e8c565b611a9681612fff565b50565b6060611ac47f00000000000000000000000000000000000000000000000000000000000000006130a5565b905090565b6060816001600160401b03811115611ae357611ae3614600565b604051908082528060200260200182016040528015611b0c578160200160208202803683370190505b50905060005b82811015611b8457611b3b848483818110611b2f57611b2f614c95565b90506020020135612abd565b828281518110611b4d57611b4d614c95565b60200260200101906003811115611b6657611b666145c8565b90816003811115611b7957611b796145c8565b905250600101611b12565b5092915050565b6000611ba46000805160206158b3833981519152610bce565b84600180611bb183612abd565b6003811115611bc257611bc26145c8565b14611c07576040516353e8875160e11b8152611c029073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b611c51565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611c419085151590612aab565b611c4e8742888888613149565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611ca16000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f82612abd565b611cc4612e8c565b611cce6000612fe6565b565b60015433906001600160a01b03168114611d3e5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611a9681612fe6565b6000610bb260018361316d565b6060611d5f82613205565b6002018054611d6d90614e14565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9990614e14565b8015611de65780601f10611dbb57610100808354040283529160200191611de6565b820191906000526020600020905b815481529060010190602001808311611dc957829003601f168201915b50505050509050919050565b60008060005b87811015611f15576001611e178a8a84818110611b2f57611b2f614c95565b6003811115611e2857611e286145c8565b03611f0d576000611e508a8a84818110611e4457611e44614c95565b90506020020135612d56565b8054909150611e6f90600160b81b90046001600160481b031685614e01565b8154909450600160a01b900462ffffff1615611eaf578054611e9e908790600160a01b900462ffffff16610ba5565b611ea89084614e01565b9250611edf565b600281015415611ec757611e9e868260020154611f21565b611ed2866000611d47565b611edc9084614e01565b92505b84611eec82600301613226565b6001600160401b0316611eff9190614e89565b611f099084614e01565b9250505b600101611df8565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa158015611f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faf9190615140565b9050611fe560008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612aab565b611fef8482611d47565b949350505050565b600033826120b1823b1580159061207257506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa15801561204e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612072919061515d565b8015612083575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612aab565b6120bd60015b85610ba5565b6120c781346113f7565b6120d561143882600a614e89565b856120e261147582612eb9565b6120ee60008888612f12565b945088886120fb87612d56565b6001019161210a9190836151cf565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161213e93929190614ec4565b60405180910390a150505050949350505050565b604080518082019091526000815260606020820152600061217283612d74565b905073__WitnetErrorsLib_______________________63a62b84628261219886613205565b6002016040518363ffffffff1660e01b81526004016121b892919061528f565b600060405180830381865af49250505080156121f657506040513d6000823e601f3d908101601f191682016040526121f3919081019061532e565b60015b610bb2576122026153c7565b806308c379a00361225e57506122166153e3565b806122215750612260565b60408051808201909152806000815260200182604051602001612244919061546c565b60408051601f198184030181529190529052949350505050565b505b3d80801561228a576040519150601f19603f3d011682016040523d82523d6000602084013e61228f565b606091505b50604080518082019091528060008152602001604051806060016040528060218152602001615892602191399052949350505050565b50919050565b6122d3614209565b60008281526000805160206158d383398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a08501919061234e90614e14565b80601f016020809104026020016040519081016040528092919081815260200182805461237a90614e14565b80156123c75780601f1061239c576101008083540402835291602001916123c7565b820191906000526020600020905b8154815290600101906020018083116123aa57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff16928101929092526005850154606083015260068501805494909301939192909160808401919061247590614e14565b80601f01602080910402602001604051908101604052809291908181526020018280546124a190614e14565b80156124ee5780601f106124c3576101008083540402835291602001916124ee565b820191906000526020600020905b8154815290600101906020018083116124d157829003601f168201915b5050509190925250505090525092915050565b600061251a6000805160206158b3833981519152610bce565b8560018061252783612abd565b6003811115612538576125386145c8565b1461257d576040516353e8875160e11b81526125789073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b612611565b6125c760008863ffffffff1611801561259c5750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612aab565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526126019085151590612aab565b61260e8888888888613149565b92505b505095945050505050565b60408051808201909152601981527f5769746e65744f7261636c65547275737461626c655265656600000000000000602082015290565b60006000805160206158b383398151915254611ac4906001614e01565b600033826126ae823b1580159061207257506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612031565b6126b860016120b7565b6126c281346113f7565b6126d061143882600a614e89565b856126dd61147582612eb9565b6126e8888888612f12565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161271d93929190614ec4565b60405180910390a1505050509392505050565b8060018061273d83612abd565b600381111561274e5761274e6145c8565b14612793576040516353e8875160e11b815261278e9073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b505050565b600061279e84612d56565b905034815482906017906127c3908490600160b81b90046001600160481b03166154a5565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b612836612e8c565b600180546001600160a01b0383166001600160a01b031990911681179091556128676000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091526128d582613205565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff16918101919091526001820154606082015260028201805491929160808401919061293890614e14565b80601f016020809104026020016040519081016040528092919081815260200182805461296490614e14565b80156129b15780601f10612986576101008083540402835291602001916129b1565b820191906000526020600020905b81548152906001019060200180831161299457829003601f168201915b5050505050815250509050919050565b6000806129ef7f00000000000000000000000000000000000000000000000000000000000000006003614e89565b612a19907f0000000000000000000000000000000000000000000000000000000000000000614e01565b9050808362ffffff161080612a5b575080612a5962ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614e01565b105b15612a7257612a6a8185614e89565b915050610b9f565b612aa162ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614e01565b612a6a9085614e89565b81612ab957612ab981610a28565b5050565b60008181526000805160206158d3833981519152602052604081206004810154600160e01b900463ffffffff1615612b1c576004810154600160a01b90046001600160401b03164310612b135750600392915050565b50600292915050565b80546001600160a01b031615612b355750600192915050565b50600092915050565b600080612b4a87612d56565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612c9857805460009081908190612bb9908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613256565b9250925092508115612c0a57604080518b81526001602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612c75565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88886001876000875111612c585760405180606001604052806029815260200161586960299139612c5a565b865b604051612c6c969594939291906154c5565b60405180910390a15b612c908a8a8a604051806020016040528060008152506135ec565b505050612d16565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c2778760016040805192835260208301919091520160405180910390a1612d1687878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135ec92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561278e573d6000803e3d6000fd5b60009081526000805160206158d38339815191526020526040902090565b600080612d8083612abd565b90506003816003811115612d9657612d966145c8565b03612e485760008381526000805160206158d38339815191526020526040812060060180549091908290612dc990614e14565b90501115612e3e578054601b60fb1b908290600090612de790614e14565b8110612df557612df5614c95565b815460011615612e145790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612e34576002611fef565b6003949350505050565b5060059392505050565b6001816003811115612e5c57612e5c6145c8565b03612e6a5750600192915050565b6002816003811115612e7e57612e7e6145c8565b03612b355750600492915050565b6000546001600160a01b03163314611cce5760405163118cdaa760e01b8152336004820152602401610a68565b600080612ecc6040840160208501615522565b6001600160401b0316118015612ef157506000612eec602084018461553f565b60ff16115b8015610b9f5750607f612f07602084018461553f565b60ff16111592915050565b60006000805160206158b38339815191528054600090612f319061555c565b918290555090506000612f4382612d56565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250612f83916001600160a01b039091161590612aab565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b0316178155600281018590558360038201612fdb8282615575565b905050509392505050565b600180546001600160a01b0319169055611a96816136b9565b60005b815181101561307557600082828151811061301f5761301f614c95565b6020026020010151905060016130406000805160206158b383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101613002565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516113d99190614e48565b606060006130b283613709565b6001600160401b038111156130c9576130c9614600565b6040519080825280601f01601f1916602001820160405280156130f3576020820181803683370190505b50905060005b8151811015611b845783816020811061311457613114614c95565b1a60f81b82828151811061312a5761312a614c95565b60200101906001600160f81b031916908160001a9053506001016130f9565b60006131588686868686612b3e565b90506131643382612d20565b95945050505050565b6000602061ffff83161561318b576131866001846155c5565b61318e565b60005b61319891906155e0565b6131a3906004615601565b6131d19061ffff167f0000000000000000000000000000000000000000000000000000000000000000614e89565b6131fb907f0000000000000000000000000000000000000000000000000000000000000000614e01565b610bb29084614e89565b60009081526000805160206158d38339815191526020526040902060040190565b80546000906132399060ff166003614c5a565b8254610b9f9160ff169061010090046001600160401b031661561c565b60008060605a9250601b60fb1b878760008161327457613274614c95565b9050013560f81c60f81b6001600160f81b031916036134c45760006132d66132d189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b61376c565b90506002815110156133fd57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161338a969594939291906156c8565b600060405180830381600088803b1580156133a457600080fd5b5087f1935050505080156133b6575060015b6133f4576133c26153c7565b806308c379a0036133e857506133d66153e3565b806133e157506133ea565b91506134be565b505b3d6000803e3d6000fd5b600192506134be565b856001600160a01b03166363febc9c868d8d8d436134348860008151811061342757613427614c95565b602002602001015161391c565b60fe811115613445576134456145c8565b8860008151811061345857613458614c95565b60200260200101516040518863ffffffff1660e01b8152600401613481969594939291906156c8565b600060405180830381600088803b15801561349b57600080fd5b5087f1935050505080156134ad575060015b6134b9576133c26153c7565b600192505b506135d2565b846001600160a01b031663bcc6307b858c8c8c436135178e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b6040518763ffffffff1660e01b8152600401613537959493929190615715565b600060405180830381600088803b15801561355157600080fd5b5087f193505050508015613563575060015b6135cd5761356f6153c7565b806308c379a00361359557506135836153e3565b8061358e5750613597565b90506135d2565b505b3d8080156135c1576040519150601f19603f3d011682016040523d82523d6000602084013e6135c6565b606091505b50506135d2565b600191505b5a6135dd9084615749565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061363485612d56565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906136b0908261575c565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137425781816020811061372757613727614c95565b1a60f81b6001600160f81b031916156137425760010161370c565b919050565b61374f61428b565b6040805180820190915282815260006020820152610bb28161397f565b60608160048060ff16826040015160ff16146137ac57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b60006137c085600001518660600151613a9f565b90506137cd81600161581b565b6001600160401b03166001600160401b038111156137ed576137ed614600565b60405190808252806020026020018201604052801561382657816020015b61381361428b565b81526020019060019003908161380b5790505b50935060005b816001600160401b03168110156138ec5761384686613b67565b955061385186613b8f565b85828151811061386357613863614c95565b6020026020010181905250600460ff16866040015160ff16036138bc57600061388b8761376c565b9050806001825161389c9190615749565b815181106138ac576138ac614c95565b60200260200101519650506138e4565b600560ff16866040015160ff16036138d957600061388b87613c27565b6138e286613e11565b505b60010161382c565b508484826001600160401b03168151811061390957613909614c95565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461395c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b61396e84600001518560600151613a9f565b6001600160401b0316949350505050565b61398761428b565b81515182906000036139ac576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a2f576139cc89613fd6565b9550816139d88161555c565b6007600589901c169650601f881695509250506005198501613a27576020890151613a038a86613a9f565b9350808a60200151613a159190615749565b613a1f9084614e01565b9250506139bd565b5060006139bd565b600760ff86161115613a595760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613ab7575060ff8116610b9f565b8160ff16601803613ad557613acb83613fd6565b60ff169050610b9f565b8160ff16601903613af457613ae983614038565b61ffff169050610b9f565b8160ff16601a03613b1557613b08836140a4565b63ffffffff169050610b9f565b8160ff16601b03613b3057613b2983614103565b9050610b9f565b8160ff16601f03613b4957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613b6f61428b565b81518051516020909101511015613b8b578151610b9f9061397f565b5090565b613b9761428b565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c6757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613c7b85600001518660600151613a9f565b613c8690600261561c565b9050613c9381600161581b565b6001600160401b03166001600160401b03811115613cb357613cb3614600565b604051908082528060200260200182016040528015613cec57816020015b613cd961428b565b815260200190600190039081613cd15790505b50935060005b816001600160401b03168110156138ec57613d0c86613b67565b9550613d1786613b8f565b858281518110613d2957613d29614c95565b6020908102919091010152613d3f60028261583b565b158015613d545750604086015160ff16600314155b15613d8257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff1660041480613d9f5750604086015160ff166005145b15613dfe57604086015160009060ff16600414613dc457613dbf87613c27565b613dcd565b613dcd8761376c565b90508060018251613dde9190615749565b81518110613dee57613dee614c95565b6020026020010151965050613e09565b613e0786613e11565b505b600101613cf2565b613e1961428b565b604082015160ff161580613e345750604082015160ff166001145b80613e6d5750604082015160ff166007148015613e5957506019826060015160ff1610155b8015613e6d5750601b826060015160ff1611155b15613ea057613e7b82614162565b6001600160401b03168260000151602001818151613e999190614e01565b9052505090565b604082015160ff1660031480613ebd5750604082015160ff166002145b15613f01576000613ed683600001518460600151613a9f565b9050806001600160401b03168360000151602001818151613ef79190614e01565b905250613b8b9050565b604082015160ff1660041480613f1e5750604082015160ff166005145b15613f4757613f3582600001518360600151613a9f565b6001600160401b031660808301525090565b604082015160ff166007141580613f795750816060015160ff16601414158015613f795750816060015160ff16601514155b15613b8b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b600081602001518260000151518082111561400e576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b835160208501805180830160010151955090819061402b8261555c565b8152505050505050919050565b60008160200151600261404b9190614e01565b82515180821115614079576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916140978284614e01565b9052509395945050505050565b6000816020015160046140b79190614e01565b825151808211156140e5576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916140978284614e01565b6000816020015160086141169190614e01565b82515180821115614144576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916140978284614e01565b60006018826060015160ff16101561417c57506000919050565b601c826060015160ff1610156141ab576018826060015161419d919061584f565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b5080546141db90614e14565b6000825580601f106141eb575050565b601f016020900490600052602060002090810190611a9691906142d2565b60405180604001604052806142586040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613b8b57600081556001016142d3565b60005b838110156143025781810151838201526020016142ea565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614339816013850160208a016142e7565b855190830190614350816013840160208a016142e7565b85519101906143668160138401602089016142e7565b845191019061437c8160138401602088016142e7565b016013019695505050505050565b6001600160a01b0381168114611a9657600080fd5b6000602082840312156143b157600080fd5b8135610bb28161438a565b803562ffffff8116811461374257600080fd5b600080604083850312156143e257600080fd5b823591506143f2602084016143bc565b90509250929050565b60008083601f84011261440d57600080fd5b5081356001600160401b0381111561442457600080fd5b6020830191508360208260051b850101111561443f57600080fd5b9250929050565b6000806020838503121561445957600080fd5b82356001600160401b0381111561446f57600080fd5b61447b858286016143fb565b90969095509350505050565b60006020828403121561449957600080fd5b5035919050565b600081518084526144b88160208601602086016142e7565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a06080850152611fef60a08501826144a0565b602081526000610bb260208301846144cc565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261457c60e08501826144a0565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000610bb26020830184614533565b634e487b7160e01b600052602160045260246000fd5b600681106145ee576145ee6145c8565b9052565b60208101610b9f82846145de565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561463b5761463b614600565b6040525050565b60006001600160401b0382111561465b5761465b614600565b5060051b60200190565b6000602080838503121561467857600080fd5b82356001600160401b0381111561468e57600080fd5b8301601f8101851361469f57600080fd5b80356146aa81614642565b6040516146b78282614616565b82815260059290921b83018401918481019150878311156146d757600080fd5b928401925b828410156146fe5783356146ef8161438a565b825292840192908401906146dc565b979650505050505050565b6000604082840312156122c557600080fd5b6000806060838503121561472e57600080fd5b823591506143f28460208501614709565b60006001600160401b0382111561475857614758614600565b50601f01601f191660200190565b60006020828403121561477857600080fd5b81356001600160401b0381111561478e57600080fd5b8201601f8101841361479f57600080fd5b80356147aa8161473f565b6040516147b78282614616565b8281528660208486010111156147cc57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561484257603f198886030184526148308583516144a0565b94509285019290850190600101614814565b5092979650505050505050565b602081526000610bb260208301846144a0565b600481106145ee576145ee6145c8565b6020808252825182820181905260009190848201906040850190845b818110156148b1576148a1838551614862565b928401929184019160010161488e565b50909695505050505050565b60008083601f8401126148cf57600080fd5b5081356001600160401b038111156148e657600080fd5b60208301915083602082850101111561443f57600080fd5b6000806000806060858703121561491457600080fd5b843593506020850135925060408501356001600160401b0381111561493857600080fd5b614944878288016148bd565b95989497509550505050565b60208101610b9f8284614862565b61ffff81168114611a9657600080fd5b6000806040838503121561498157600080fd5b8235915060208301356149938161495e565b809150509250929050565b600080600080600080608087890312156149b757600080fd5b86356001600160401b03808211156149ce57600080fd5b6149da8a838b016143fb565b909850965060208901359150808211156149f357600080fd5b50614a0089828a016148bd565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a2e57600080fd5b50508035926020909101359150565b60008060008060808587031215614a5357600080fd5b84356001600160401b03811115614a6957600080fd5b614a75878288016148bd565b9095509350614a8990508660208701614709565b9150614a97606086016143bc565b905092959194509250565b60ff81106145ee576145ee6145c8565b60208152614ac4602082018351614aa2565b60006020830151604080840152611fef60608401826144a0565b602081526000825160406020840152614afa6060840182614533565b90506020840151601f1984830301604085015261316482826144cc565b803563ffffffff8116811461374257600080fd5b600080600080600060808688031215614b4357600080fd5b85359450614b5360208701614b17565b93506040860135925060608601356001600160401b03811115614b7557600080fd5b614b81888289016148bd565b969995985093965092949392505050565b600080600060808486031215614ba757600080fd5b83359250614bb88560208601614709565b9150614bc6606085016143bc565b90509250925092565b60008351614be18184602088016142e7565b6101d160f51b9083019081528351614c008160028401602088016142e7565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c4b57614c4b614c0c565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614c22565b600060ff831680614c8657614c86614c0c565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b60008235607e19833603018112614cc157600080fd5b9190910192915050565b600082601f830112614cdc57600080fd5b8151614ce78161473f565b604051614cf48282614616565b828152856020848701011115614d0957600080fd5b6131648360208301602088016142e7565b600060208284031215614d2c57600080fd5b81516001600160401b03811115614d4257600080fd5b611fef84828501614ccb565b828152604060208201526000611fef60408301846144a0565b600060208284031215614d7957600080fd5b610bb282614b17565b6000808335601e19843603018112614d9957600080fd5b8301803591506001600160401b03821115614db357600080fd5b60200191503681900382131561443f57600080fd5b60008251614dda8184602087016142e7565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b80820180821115610b9f57610b9f614c22565b600181811c90821680614e2857607f821691505b6020821081036122c557634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148b15783516001600160a01b031683529284019291840191600101614e64565b8082028115828204841417610b9f57610b9f614c22565b60ff81168114611a9657600080fd5b6001600160401b0381168114611a9657600080fd5b83815260208101839052608081018235614edd81614ea0565b60ff1660408301526020830135614ef381614eaf565b6001600160401b038116606084015250949350505050565b60008060408385031215614f1e57600080fd5b8251614f298161438a565b60208401519092506001600160401b03811115614f4557600080fd5b614f5185828601614ccb565b9150509250929050565b60006020808385031215614f6e57600080fd5b82516001600160401b03811115614f8457600080fd5b8301601f81018513614f9557600080fd5b8051614fa081614642565b604051614fad8282614616565b82815260059290921b8301840191848101915087831115614fcd57600080fd5b928401925b828410156146fe578351614fe58161438a565b82529284019290840190614fd2565b60006020828403121561500657600080fd5b81516001600160e01b031981168114610bb257600080fd5b60006020828403121561503057600080fd5b8151610bb28161438a565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561506b57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602080838503121561509857600080fd5b82516001600160401b03808211156150af57600080fd5b818501915085601f8301126150c357600080fd5b81516150ce81614642565b6040516150db8282614616565b82815260059290921b84018501918581019150888311156150fb57600080fd5b8585015b83811015615133578051858111156151175760008081fd5b6151258b89838a0101614ccb565b8452509186019186016150ff565b5098975050505050505050565b60006020828403121561515257600080fd5b8151610bb28161495e565b60006020828403121561516f57600080fd5b81518015158114610bb257600080fd5b601f82111561278e576000816000526020600020601f850160051c810160208610156151a85750805b601f850160051c820191505b818110156151c7578281556001016151b4565b505050505050565b6001600160401b038311156151e6576151e6614600565b6151fa836151f48354614e14565b8361517f565b6000601f84116001811461522e57600085156152165750838201355b600019600387901b1c1916600186901b178355615288565b600083815260209020601f19861690835b8281101561525f578685013582556020948501946001909201910161523f565b508682101561527c5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b61529981846145de565b6000602060406020840152600084546152b181614e14565b80604087015260606001808416600081146152d357600181146152ef5761531f565b60ff19851660608a0152606084151560051b8a0101955061531f565b89600052602060002060005b858110156153165781548b82018601529083019088016152fb565b8a016060019650505b50939998505050505050505050565b60006020828403121561534057600080fd5b81516001600160401b038082111561535757600080fd5b908301906040828603121561536b57600080fd5b60405160408101818110838211171561538657615386614600565b604052825160ff811061539857600080fd5b81526020830151828111156153ac57600080fd5b6153b887828601614ccb565b60208301525095945050505050565b600060033d11156153e05760046000803e5060005160e01c5b90565b600060443d10156153f15790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561542057505050505090565b82850191508151818111156154385750505050505090565b843d87010160208285010111156154525750505050505090565b61546160208286010187614616565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b8152600082516154988160118501602087016142e7565b9190910160110192915050565b6001600160481b03818116838216019080821115611b8457611b84614c22565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261551560c08201856144a0565b9998505050505050505050565b60006020828403121561553457600080fd5b8135610bb281614eaf565b60006020828403121561555157600080fd5b8135610bb281614ea0565b60006001820161556e5761556e614c22565b5060010190565b813561558081614ea0565b60ff8116905081548160ff198216178355602084013561559f81614eaf565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b61ffff828116828216039080821115611b8457611b84614c22565b600061ffff808416806155f5576155f5614c0c565b92169190910492915050565b61ffff818116838216019080821115611b8457611b84614c22565b6001600160401b0381811683821602808216919082811461563f5761563f614c22565b505092915050565b6000815160c084528051604060c08601526156666101008601826144a0565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526156f36080820184614aa2565b60c060a0820152600061570960c0830184615647565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a0608082015260006146fe60a0830184615647565b81810381811115610b9f57610b9f614c22565b81516001600160401b0381111561577557615775614600565b615789816157838454614e14565b8461517f565b602080601f8311600181146157be57600084156157a65750858301515b600019600386901b1c1916600185901b1785556151c7565b600085815260208120601f198616915b828110156157ed578886015182559484019460019091019084016157ce565b508582101561580b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115611b8457611b84614c22565b60008261584a5761584a614c0c565b500690565b60ff8281168282160390811115610b9f57610b9f614c2256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a26469706673582212200e38e1200cb246d2882d79239b6dfd6c0ab2b1334e00203a56066a52a6384e3964736f6c63430008190033",
  "deployedBytecode": "0x6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b604051602001610317949392919061430b565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461439f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b3660046143cf565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a9366004614446565b610bb9565b3480156103ba57600080fd5b506103ce6103c9366004614487565b610f23565b6040516103579190614520565b3480156103e757600080fd5b506103fb6103f6366004614487565b6111ba565b60405161035791906145b5565b34801561041457600080fd5b50610428610423366004614487565b611320565b60405161035791906145f2565b34801561044157600080fd5b506102b1610450366004614665565b61132b565b61038061046336600461471b565b6113e4565b34801561047457600080fd5b506102b1610483366004614766565b6114ef565b34801561049457600080fd5b506104a86104a3366004614446565b6119e3565b60405161035791906147eb565b3480156104c157600080fd5b506102b16104d0366004614665565b611a85565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611a99565b604051610357919061484f565b3480156105b157600080fd5b506105c56105c0366004614446565b611ac9565b6040516103579190614872565b3480156105de57600080fd5b506103806105ed3660046148fe565b611b8b565b3480156105fe57600080fd5b5061034b61060d36600461439f565b611c5b565b34801561061e57600080fd5b5061063261062d366004614487565b611cb1565b6040516103579190614950565b34801561064b57600080fd5b5061038061065a366004614487565b60009081526000805160206158d38339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611cbc565b3480156106aa57600080fd5b506102b1611cd0565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b5061038061075236600461496e565b611d47565b34801561076357600080fd5b50610598610772366004614487565b611d54565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b036600461499e565b611df2565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614a1b565b611f21565b6103806107f8366004614a3d565b611ff7565b34801561080957600080fd5b5061081d610818366004614487565b612152565b6040516103579190614ab2565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614487565b6122cb565b6040516103579190614ade565b3480156108cb57600080fd5b506103806108da366004614b2b565b612501565b3480156108eb57600080fd5b5061059861261c565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612653565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614b92565b612670565b6102b16109e3366004614487565b612730565b3480156109f457600080fd5b506102b1610a0336600461439f565b61282e565b348015610a1457600080fd5b506103ce610a23366004614487565b61289f565b610a3061261c565b81604051602001610a42929190614bcf565b60408051601f198184030181529082905262461bcd60e51b8252610a689160040161484f565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614c38565b610aae906030614c5a565b90506000610abd601086614c73565b610ac8906030614c5a565b905060398260ff161115610ae457610ae1600783614c5a565b91505b60398160ff161115610afe57610afb600782614c5a565b90505b8160f81b83600081518110610b1557610b15614c95565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614c95565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b6000610bb26001836129c1565b9392505050565b6000610c1b6000805160206158b38339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612aab565b60005b82811015610f12576001610c55858584818110610c3d57610c3d614c95565b9050602002810190610c4f9190614cab565b35612abd565b6003811115610c6657610c666145c8565b14610d4b577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610c9e57610c9e614c95565b9050602002810190610cb09190614cab565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610ceb90600190600401614950565b600060405180830381865af4158015610d08573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d309190810190614d1a565b604051610d3e929190614d4e565b60405180910390a1610f0a565b838382818110610d5d57610d5d614c95565b9050602002810190610d6f9190614cab565b610d80906040810190602001614d67565b63ffffffff161580610dc35750838382818110610d9f57610d9f614c95565b9050602002810190610db19190614cab565b610dbf906060810190614d82565b1590505b15610e41577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610dfb57610dfb614c95565b9050602002810190610e0d9190614cab565b35610e1661261c565b604051602001610e269190614dc8565b60408051601f1981840301815290829052610d3e9291614d4e565b610efd848483818110610e5657610e56614c95565b9050602002810190610e689190614cab565b35858584818110610e7b57610e7b614c95565b9050602002810190610e8d9190614cab565b610e9e906040810190602001614d67565b868685818110610eb057610eb0614c95565b9050602002810190610ec29190614cab565b60400135878786818110610ed857610ed8614c95565b9050602002810190610eea9190614cab565b610ef8906060810190614d82565b612b3e565b610f079083614e01565b91505b600101610c1e565b508015610b9f57610b9f3382612d20565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915281600380610f5d83612abd565b6003811115610f6e57610f6e6145c8565b14610ffd576040516353e8875160e11b8152610ff89073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b600060405180830381865af4158015610fcb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff39190810190614d1a565b610a28565b6111b3565b8361104661100a82612d56565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612aab565b61104f85612d56565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906110b490614e14565b80601f01602080910402602001604051908101604052809291908181526020018280546110e090614e14565b801561112d5780601f106111025761010080835404028352916020019161112d565b820191906000526020600020905b81548152906001019060200180831161111057829003601f168201915b505050505081525050935061114d6000805160206158b383398151915290565b60008681526001918201602052604081208181559182908290611172908301826141cf565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906111ad60068501826141cf565b50505050505b5050919050565b6111fe6040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b61120782612d56565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061125f90614e14565b80601f016020809104026020016040519081016040528092919081815260200182805461128b90614e14565b80156112d85780601f106112ad576101008083540402835291602001916112d8565b820191906000526020600020905b8154815290600101906020018083116112bb57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612d74565b611333612e8c565b60005b81518110156113a957600082828151811061135357611353614c95565b6020026020010151905060006113746000805160206158b383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611336565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516113d99190614e48565b60405180910390a150565b60006113f1600184611f21565b61142a81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612aab565b61146861143882600a614e89565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612aab565b8261149e61147582612eb9565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612aab565b6114aa85856000612f12565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516114df93929190614ec4565b60405180910390a1505092915050565b6000546001600160a01b0316606081611542576060838060200190518101906115189190614f0b565b909350905061152683612fe6565b8080602001905181019061153a9190614f5b565b91505061159c565b611585826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612aab565b828060200190518101906115999190614f5b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061160d57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611643576116436040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526116e7907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612aab565b6117ba630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177e9190614ff4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612aab565b611941306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611849919061501e565b6001600160a01b031614801561191157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611906919061501e565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612aab565b61194a81612fff565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119c9611a99565b6040516119d6919061484f565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611a40907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161503b565b600060405180830381865af4158015611a5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bb29190810190615085565b611a8d612e8c565b611a9681612fff565b50565b6060611ac47f00000000000000000000000000000000000000000000000000000000000000006130a5565b905090565b6060816001600160401b03811115611ae357611ae3614600565b604051908082528060200260200182016040528015611b0c578160200160208202803683370190505b50905060005b82811015611b8457611b3b848483818110611b2f57611b2f614c95565b90506020020135612abd565b828281518110611b4d57611b4d614c95565b60200260200101906003811115611b6657611b666145c8565b90816003811115611b7957611b796145c8565b905250600101611b12565b5092915050565b6000611ba46000805160206158b3833981519152610bce565b84600180611bb183612abd565b6003811115611bc257611bc26145c8565b14611c07576040516353e8875160e11b8152611c029073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b611c51565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611c419085151590612aab565b611c4e8742888888613149565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611ca16000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f82612abd565b611cc4612e8c565b611cce6000612fe6565b565b60015433906001600160a01b03168114611d3e5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611a9681612fe6565b6000610bb260018361316d565b6060611d5f82613205565b6002018054611d6d90614e14565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9990614e14565b8015611de65780601f10611dbb57610100808354040283529160200191611de6565b820191906000526020600020905b815481529060010190602001808311611dc957829003601f168201915b50505050509050919050565b60008060005b87811015611f15576001611e178a8a84818110611b2f57611b2f614c95565b6003811115611e2857611e286145c8565b03611f0d576000611e508a8a84818110611e4457611e44614c95565b90506020020135612d56565b8054909150611e6f90600160b81b90046001600160481b031685614e01565b8154909450600160a01b900462ffffff1615611eaf578054611e9e908790600160a01b900462ffffff16610ba5565b611ea89084614e01565b9250611edf565b600281015415611ec757611e9e868260020154611f21565b611ed2866000611d47565b611edc9084614e01565b92505b84611eec82600301613226565b6001600160401b0316611eff9190614e89565b611f099084614e01565b9250505b600101611df8565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa158015611f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faf9190615140565b9050611fe560008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612aab565b611fef8482611d47565b949350505050565b600033826120b1823b1580159061207257506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa15801561204e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612072919061515d565b8015612083575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612aab565b6120bd60015b85610ba5565b6120c781346113f7565b6120d561143882600a614e89565b856120e261147582612eb9565b6120ee60008888612f12565b945088886120fb87612d56565b6001019161210a9190836151cf565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161213e93929190614ec4565b60405180910390a150505050949350505050565b604080518082019091526000815260606020820152600061217283612d74565b905073__WitnetErrorsLib_______________________63a62b84628261219886613205565b6002016040518363ffffffff1660e01b81526004016121b892919061528f565b600060405180830381865af49250505080156121f657506040513d6000823e601f3d908101601f191682016040526121f3919081019061532e565b60015b610bb2576122026153c7565b806308c379a00361225e57506122166153e3565b806122215750612260565b60408051808201909152806000815260200182604051602001612244919061546c565b60408051601f198184030181529190529052949350505050565b505b3d80801561228a576040519150601f19603f3d011682016040523d82523d6000602084013e61228f565b606091505b50604080518082019091528060008152602001604051806060016040528060218152602001615892602191399052949350505050565b50919050565b6122d3614209565b60008281526000805160206158d383398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a08501919061234e90614e14565b80601f016020809104026020016040519081016040528092919081815260200182805461237a90614e14565b80156123c75780601f1061239c576101008083540402835291602001916123c7565b820191906000526020600020905b8154815290600101906020018083116123aa57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff16928101929092526005850154606083015260068501805494909301939192909160808401919061247590614e14565b80601f01602080910402602001604051908101604052809291908181526020018280546124a190614e14565b80156124ee5780601f106124c3576101008083540402835291602001916124ee565b820191906000526020600020905b8154815290600101906020018083116124d157829003601f168201915b5050509190925250505090525092915050565b600061251a6000805160206158b3833981519152610bce565b8560018061252783612abd565b6003811115612538576125386145c8565b1461257d576040516353e8875160e11b81526125789073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b612611565b6125c760008863ffffffff1611801561259c5750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612aab565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526126019085151590612aab565b61260e8888888888613149565b92505b505095945050505050565b60408051808201909152601981527f5769746e65744f7261636c65547275737461626c655265656600000000000000602082015290565b60006000805160206158b383398151915254611ac4906001614e01565b600033826126ae823b1580159061207257506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612031565b6126b860016120b7565b6126c281346113f7565b6126d061143882600a614e89565b856126dd61147582612eb9565b6126e8888888612f12565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161271d93929190614ec4565b60405180910390a1505050509392505050565b8060018061273d83612abd565b600381111561274e5761274e6145c8565b14612793576040516353e8875160e11b815261278e9073__WitnetOracleDataLib___________________9063a7d10ea290610fae908590600401614950565b505050565b600061279e84612d56565b905034815482906017906127c3908490600160b81b90046001600160481b03166154a5565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b612836612e8c565b600180546001600160a01b0383166001600160a01b031990911681179091556128676000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091526128d582613205565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff16918101919091526001820154606082015260028201805491929160808401919061293890614e14565b80601f016020809104026020016040519081016040528092919081815260200182805461296490614e14565b80156129b15780601f10612986576101008083540402835291602001916129b1565b820191906000526020600020905b81548152906001019060200180831161299457829003601f168201915b5050505050815250509050919050565b6000806129ef7f00000000000000000000000000000000000000000000000000000000000000006003614e89565b612a19907f0000000000000000000000000000000000000000000000000000000000000000614e01565b9050808362ffffff161080612a5b575080612a5962ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614e01565b105b15612a7257612a6a8185614e89565b915050610b9f565b612aa162ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614e01565b612a6a9085614e89565b81612ab957612ab981610a28565b5050565b60008181526000805160206158d3833981519152602052604081206004810154600160e01b900463ffffffff1615612b1c576004810154600160a01b90046001600160401b03164310612b135750600392915050565b50600292915050565b80546001600160a01b031615612b355750600192915050565b50600092915050565b600080612b4a87612d56565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612c9857805460009081908190612bb9908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613256565b9250925092508115612c0a57604080518b81526001602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612c75565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88886001876000875111612c585760405180606001604052806029815260200161586960299139612c5a565b865b604051612c6c969594939291906154c5565b60405180910390a15b612c908a8a8a604051806020016040528060008152506135ec565b505050612d16565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c2778760016040805192835260208301919091520160405180910390a1612d1687878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135ec92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561278e573d6000803e3d6000fd5b60009081526000805160206158d38339815191526020526040902090565b600080612d8083612abd565b90506003816003811115612d9657612d966145c8565b03612e485760008381526000805160206158d38339815191526020526040812060060180549091908290612dc990614e14565b90501115612e3e578054601b60fb1b908290600090612de790614e14565b8110612df557612df5614c95565b815460011615612e145790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612e34576002611fef565b6003949350505050565b5060059392505050565b6001816003811115612e5c57612e5c6145c8565b03612e6a5750600192915050565b6002816003811115612e7e57612e7e6145c8565b03612b355750600492915050565b6000546001600160a01b03163314611cce5760405163118cdaa760e01b8152336004820152602401610a68565b600080612ecc6040840160208501615522565b6001600160401b0316118015612ef157506000612eec602084018461553f565b60ff16115b8015610b9f5750607f612f07602084018461553f565b60ff16111592915050565b60006000805160206158b38339815191528054600090612f319061555c565b918290555090506000612f4382612d56565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250612f83916001600160a01b039091161590612aab565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b0316178155600281018590558360038201612fdb8282615575565b905050509392505050565b600180546001600160a01b0319169055611a96816136b9565b60005b815181101561307557600082828151811061301f5761301f614c95565b6020026020010151905060016130406000805160206158b383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101613002565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516113d99190614e48565b606060006130b283613709565b6001600160401b038111156130c9576130c9614600565b6040519080825280601f01601f1916602001820160405280156130f3576020820181803683370190505b50905060005b8151811015611b845783816020811061311457613114614c95565b1a60f81b82828151811061312a5761312a614c95565b60200101906001600160f81b031916908160001a9053506001016130f9565b60006131588686868686612b3e565b90506131643382612d20565b95945050505050565b6000602061ffff83161561318b576131866001846155c5565b61318e565b60005b61319891906155e0565b6131a3906004615601565b6131d19061ffff167f0000000000000000000000000000000000000000000000000000000000000000614e89565b6131fb907f0000000000000000000000000000000000000000000000000000000000000000614e01565b610bb29084614e89565b60009081526000805160206158d38339815191526020526040902060040190565b80546000906132399060ff166003614c5a565b8254610b9f9160ff169061010090046001600160401b031661561c565b60008060605a9250601b60fb1b878760008161327457613274614c95565b9050013560f81c60f81b6001600160f81b031916036134c45760006132d66132d189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b61376c565b90506002815110156133fd57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161338a969594939291906156c8565b600060405180830381600088803b1580156133a457600080fd5b5087f1935050505080156133b6575060015b6133f4576133c26153c7565b806308c379a0036133e857506133d66153e3565b806133e157506133ea565b91506134be565b505b3d6000803e3d6000fd5b600192506134be565b856001600160a01b03166363febc9c868d8d8d436134348860008151811061342757613427614c95565b602002602001015161391c565b60fe811115613445576134456145c8565b8860008151811061345857613458614c95565b60200260200101516040518863ffffffff1660e01b8152600401613481969594939291906156c8565b600060405180830381600088803b15801561349b57600080fd5b5087f1935050505080156134ad575060015b6134b9576133c26153c7565b600192505b506135d2565b846001600160a01b031663bcc6307b858c8c8c436135178e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b6040518763ffffffff1660e01b8152600401613537959493929190615715565b600060405180830381600088803b15801561355157600080fd5b5087f193505050508015613563575060015b6135cd5761356f6153c7565b806308c379a00361359557506135836153e3565b8061358e5750613597565b90506135d2565b505b3d8080156135c1576040519150601f19603f3d011682016040523d82523d6000602084013e6135c6565b606091505b50506135d2565b600191505b5a6135dd9084615749565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061363485612d56565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906136b0908261575c565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137425781816020811061372757613727614c95565b1a60f81b6001600160f81b031916156137425760010161370c565b919050565b61374f61428b565b6040805180820190915282815260006020820152610bb28161397f565b60608160048060ff16826040015160ff16146137ac57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b60006137c085600001518660600151613a9f565b90506137cd81600161581b565b6001600160401b03166001600160401b038111156137ed576137ed614600565b60405190808252806020026020018201604052801561382657816020015b61381361428b565b81526020019060019003908161380b5790505b50935060005b816001600160401b03168110156138ec5761384686613b67565b955061385186613b8f565b85828151811061386357613863614c95565b6020026020010181905250600460ff16866040015160ff16036138bc57600061388b8761376c565b9050806001825161389c9190615749565b815181106138ac576138ac614c95565b60200260200101519650506138e4565b600560ff16866040015160ff16036138d957600061388b87613c27565b6138e286613e11565b505b60010161382c565b508484826001600160401b03168151811061390957613909614c95565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461395c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b61396e84600001518560600151613a9f565b6001600160401b0316949350505050565b61398761428b565b81515182906000036139ac576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a2f576139cc89613fd6565b9550816139d88161555c565b6007600589901c169650601f881695509250506005198501613a27576020890151613a038a86613a9f565b9350808a60200151613a159190615749565b613a1f9084614e01565b9250506139bd565b5060006139bd565b600760ff86161115613a595760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613ab7575060ff8116610b9f565b8160ff16601803613ad557613acb83613fd6565b60ff169050610b9f565b8160ff16601903613af457613ae983614038565b61ffff169050610b9f565b8160ff16601a03613b1557613b08836140a4565b63ffffffff169050610b9f565b8160ff16601b03613b3057613b2983614103565b9050610b9f565b8160ff16601f03613b4957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613b6f61428b565b81518051516020909101511015613b8b578151610b9f9061397f565b5090565b613b9761428b565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c6757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613c7b85600001518660600151613a9f565b613c8690600261561c565b9050613c9381600161581b565b6001600160401b03166001600160401b03811115613cb357613cb3614600565b604051908082528060200260200182016040528015613cec57816020015b613cd961428b565b815260200190600190039081613cd15790505b50935060005b816001600160401b03168110156138ec57613d0c86613b67565b9550613d1786613b8f565b858281518110613d2957613d29614c95565b6020908102919091010152613d3f60028261583b565b158015613d545750604086015160ff16600314155b15613d8257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff1660041480613d9f5750604086015160ff166005145b15613dfe57604086015160009060ff16600414613dc457613dbf87613c27565b613dcd565b613dcd8761376c565b90508060018251613dde9190615749565b81518110613dee57613dee614c95565b6020026020010151965050613e09565b613e0786613e11565b505b600101613cf2565b613e1961428b565b604082015160ff161580613e345750604082015160ff166001145b80613e6d5750604082015160ff166007148015613e5957506019826060015160ff1610155b8015613e6d5750601b826060015160ff1611155b15613ea057613e7b82614162565b6001600160401b03168260000151602001818151613e999190614e01565b9052505090565b604082015160ff1660031480613ebd5750604082015160ff166002145b15613f01576000613ed683600001518460600151613a9f565b9050806001600160401b03168360000151602001818151613ef79190614e01565b905250613b8b9050565b604082015160ff1660041480613f1e5750604082015160ff166005145b15613f4757613f3582600001518360600151613a9f565b6001600160401b031660808301525090565b604082015160ff166007141580613f795750816060015160ff16601414158015613f795750816060015160ff16601514155b15613b8b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b600081602001518260000151518082111561400e576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b835160208501805180830160010151955090819061402b8261555c565b8152505050505050919050565b60008160200151600261404b9190614e01565b82515180821115614079576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916140978284614e01565b9052509395945050505050565b6000816020015160046140b79190614e01565b825151808211156140e5576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916140978284614e01565b6000816020015160086141169190614e01565b82515180821115614144576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916140978284614e01565b60006018826060015160ff16101561417c57506000919050565b601c826060015160ff1610156141ab576018826060015161419d919061584f565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b5080546141db90614e14565b6000825580601f106141eb575050565b601f016020900490600052602060002090810190611a9691906142d2565b60405180604001604052806142586040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613b8b57600081556001016142d3565b60005b838110156143025781810151838201526020016142ea565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614339816013850160208a016142e7565b855190830190614350816013840160208a016142e7565b85519101906143668160138401602089016142e7565b845191019061437c8160138401602088016142e7565b016013019695505050505050565b6001600160a01b0381168114611a9657600080fd5b6000602082840312156143b157600080fd5b8135610bb28161438a565b803562ffffff8116811461374257600080fd5b600080604083850312156143e257600080fd5b823591506143f2602084016143bc565b90509250929050565b60008083601f84011261440d57600080fd5b5081356001600160401b0381111561442457600080fd5b6020830191508360208260051b850101111561443f57600080fd5b9250929050565b6000806020838503121561445957600080fd5b82356001600160401b0381111561446f57600080fd5b61447b858286016143fb565b90969095509350505050565b60006020828403121561449957600080fd5b5035919050565b600081518084526144b88160208601602086016142e7565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a06080850152611fef60a08501826144a0565b602081526000610bb260208301846144cc565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261457c60e08501826144a0565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000610bb26020830184614533565b634e487b7160e01b600052602160045260246000fd5b600681106145ee576145ee6145c8565b9052565b60208101610b9f82846145de565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561463b5761463b614600565b6040525050565b60006001600160401b0382111561465b5761465b614600565b5060051b60200190565b6000602080838503121561467857600080fd5b82356001600160401b0381111561468e57600080fd5b8301601f8101851361469f57600080fd5b80356146aa81614642565b6040516146b78282614616565b82815260059290921b83018401918481019150878311156146d757600080fd5b928401925b828410156146fe5783356146ef8161438a565b825292840192908401906146dc565b979650505050505050565b6000604082840312156122c557600080fd5b6000806060838503121561472e57600080fd5b823591506143f28460208501614709565b60006001600160401b0382111561475857614758614600565b50601f01601f191660200190565b60006020828403121561477857600080fd5b81356001600160401b0381111561478e57600080fd5b8201601f8101841361479f57600080fd5b80356147aa8161473f565b6040516147b78282614616565b8281528660208486010111156147cc57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561484257603f198886030184526148308583516144a0565b94509285019290850190600101614814565b5092979650505050505050565b602081526000610bb260208301846144a0565b600481106145ee576145ee6145c8565b6020808252825182820181905260009190848201906040850190845b818110156148b1576148a1838551614862565b928401929184019160010161488e565b50909695505050505050565b60008083601f8401126148cf57600080fd5b5081356001600160401b038111156148e657600080fd5b60208301915083602082850101111561443f57600080fd5b6000806000806060858703121561491457600080fd5b843593506020850135925060408501356001600160401b0381111561493857600080fd5b614944878288016148bd565b95989497509550505050565b60208101610b9f8284614862565b61ffff81168114611a9657600080fd5b6000806040838503121561498157600080fd5b8235915060208301356149938161495e565b809150509250929050565b600080600080600080608087890312156149b757600080fd5b86356001600160401b03808211156149ce57600080fd5b6149da8a838b016143fb565b909850965060208901359150808211156149f357600080fd5b50614a0089828a016148bd565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a2e57600080fd5b50508035926020909101359150565b60008060008060808587031215614a5357600080fd5b84356001600160401b03811115614a6957600080fd5b614a75878288016148bd565b9095509350614a8990508660208701614709565b9150614a97606086016143bc565b905092959194509250565b60ff81106145ee576145ee6145c8565b60208152614ac4602082018351614aa2565b60006020830151604080840152611fef60608401826144a0565b602081526000825160406020840152614afa6060840182614533565b90506020840151601f1984830301604085015261316482826144cc565b803563ffffffff8116811461374257600080fd5b600080600080600060808688031215614b4357600080fd5b85359450614b5360208701614b17565b93506040860135925060608601356001600160401b03811115614b7557600080fd5b614b81888289016148bd565b969995985093965092949392505050565b600080600060808486031215614ba757600080fd5b83359250614bb88560208601614709565b9150614bc6606085016143bc565b90509250925092565b60008351614be18184602088016142e7565b6101d160f51b9083019081528351614c008160028401602088016142e7565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c4b57614c4b614c0c565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614c22565b600060ff831680614c8657614c86614c0c565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b60008235607e19833603018112614cc157600080fd5b9190910192915050565b600082601f830112614cdc57600080fd5b8151614ce78161473f565b604051614cf48282614616565b828152856020848701011115614d0957600080fd5b6131648360208301602088016142e7565b600060208284031215614d2c57600080fd5b81516001600160401b03811115614d4257600080fd5b611fef84828501614ccb565b828152604060208201526000611fef60408301846144a0565b600060208284031215614d7957600080fd5b610bb282614b17565b6000808335601e19843603018112614d9957600080fd5b8301803591506001600160401b03821115614db357600080fd5b60200191503681900382131561443f57600080fd5b60008251614dda8184602087016142e7565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b80820180821115610b9f57610b9f614c22565b600181811c90821680614e2857607f821691505b6020821081036122c557634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148b15783516001600160a01b031683529284019291840191600101614e64565b8082028115828204841417610b9f57610b9f614c22565b60ff81168114611a9657600080fd5b6001600160401b0381168114611a9657600080fd5b83815260208101839052608081018235614edd81614ea0565b60ff1660408301526020830135614ef381614eaf565b6001600160401b038116606084015250949350505050565b60008060408385031215614f1e57600080fd5b8251614f298161438a565b60208401519092506001600160401b03811115614f4557600080fd5b614f5185828601614ccb565b9150509250929050565b60006020808385031215614f6e57600080fd5b82516001600160401b03811115614f8457600080fd5b8301601f81018513614f9557600080fd5b8051614fa081614642565b604051614fad8282614616565b82815260059290921b8301840191848101915087831115614fcd57600080fd5b928401925b828410156146fe578351614fe58161438a565b82529284019290840190614fd2565b60006020828403121561500657600080fd5b81516001600160e01b031981168114610bb257600080fd5b60006020828403121561503057600080fd5b8151610bb28161438a565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561506b57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602080838503121561509857600080fd5b82516001600160401b03808211156150af57600080fd5b818501915085601f8301126150c357600080fd5b81516150ce81614642565b6040516150db8282614616565b82815260059290921b84018501918581019150888311156150fb57600080fd5b8585015b83811015615133578051858111156151175760008081fd5b6151258b89838a0101614ccb565b8452509186019186016150ff565b5098975050505050505050565b60006020828403121561515257600080fd5b8151610bb28161495e565b60006020828403121561516f57600080fd5b81518015158114610bb257600080fd5b601f82111561278e576000816000526020600020601f850160051c810160208610156151a85750805b601f850160051c820191505b818110156151c7578281556001016151b4565b505050505050565b6001600160401b038311156151e6576151e6614600565b6151fa836151f48354614e14565b8361517f565b6000601f84116001811461522e57600085156152165750838201355b600019600387901b1c1916600186901b178355615288565b600083815260209020601f19861690835b8281101561525f578685013582556020948501946001909201910161523f565b508682101561527c5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b61529981846145de565b6000602060406020840152600084546152b181614e14565b80604087015260606001808416600081146152d357600181146152ef5761531f565b60ff19851660608a0152606084151560051b8a0101955061531f565b89600052602060002060005b858110156153165781548b82018601529083019088016152fb565b8a016060019650505b50939998505050505050505050565b60006020828403121561534057600080fd5b81516001600160401b038082111561535757600080fd5b908301906040828603121561536b57600080fd5b60405160408101818110838211171561538657615386614600565b604052825160ff811061539857600080fd5b81526020830151828111156153ac57600080fd5b6153b887828601614ccb565b60208301525095945050505050565b600060033d11156153e05760046000803e5060005160e01c5b90565b600060443d10156153f15790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561542057505050505090565b82850191508151818111156154385750505050505090565b843d87010160208285010111156154525750505050505090565b61546160208286010187614616565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b8152600082516154988160118501602087016142e7565b9190910160110192915050565b6001600160481b03818116838216019080821115611b8457611b84614c22565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261551560c08201856144a0565b9998505050505050505050565b60006020828403121561553457600080fd5b8135610bb281614eaf565b60006020828403121561555157600080fd5b8135610bb281614ea0565b60006001820161556e5761556e614c22565b5060010190565b813561558081614ea0565b60ff8116905081548160ff198216178355602084013561559f81614eaf565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b61ffff828116828216039080821115611b8457611b84614c22565b600061ffff808416806155f5576155f5614c0c565b92169190910492915050565b61ffff818116838216019080821115611b8457611b84614c22565b6001600160401b0381811683821602808216919082811461563f5761563f614c22565b505092915050565b6000815160c084528051604060c08601526156666101008601826144a0565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526156f36080820184614aa2565b60c060a0820152600061570960c0830184615647565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a0608082015260006146fe60a0830184615647565b81810381811115610b9f57610b9f614c22565b81516001600160401b0381111561577557615775614600565b615789816157838454614e14565b8461517f565b602080601f8311600181146157be57600084156157a65750858301515b600019600386901b1c1916600185901b1785556151c7565b600085815260208120601f198616915b828110156157ed578886015182559484019460019091019084016157ce565b508582101561580b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115611b8457611b84614c22565b60008261584a5761584a614c0c565b500690565b60ff8281168282160390811115610b9f57610b9f614c2256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a26469706673582212200e38e1200cb246d2882d79239b6dfd6c0ab2b1334e00203a56066a52a6384e3964736f6c63430008190033",
  "immutableReferences": {
    "3715": [
      {
        "length": 32,
        "start": 6816
      }
    ],
    "3719": [
      {
        "length": 32,
        "start": 2382
      }
    ],
    "3769": [
      {
        "length": 32,
        "start": 1326
      }
    ],
    "4890": [
      {
        "length": 32,
        "start": 2160
      }
    ],
    "4894": [
      {
        "length": 32,
        "start": 1733
      },
      {
        "length": 32,
        "start": 6236
      },
      {
        "length": 32,
        "start": 6676
      },
      {
        "length": 32,
        "start": 8004
      }
    ],
    "4897": [
      {
        "length": 32,
        "start": 2307
      },
      {
        "length": 32,
        "start": 5814
      },
      {
        "length": 32,
        "start": 5886
      },
      {
        "length": 32,
        "start": 6089
      },
      {
        "length": 32,
        "start": 6278
      }
    ],
    "6838": [
      {
        "length": 32,
        "start": 12759
      }
    ],
    "6840": [
      {
        "length": 32,
        "start": 10805
      },
      {
        "length": 32,
        "start": 10877
      }
    ],
    "6842": [
      {
        "length": 32,
        "start": 10741
      }
    ],
    "6844": [
      {
        "length": 32,
        "start": 10697
      },
      {
        "length": 32,
        "start": 12717
      }
    ],
    "24100": [
      {
        "length": 32,
        "start": 2464
      }
    ],
    "24203": [
      {
        "length": 32,
        "start": 1252
      },
      {
        "length": 32,
        "start": 2105
      },
      {
        "length": 32,
        "start": 5611
      },
      {
        "length": 32,
        "start": 5701
      },
      {
        "length": 32,
        "start": 6476
      },
      {
        "length": 32,
        "start": 6510
      }
    ],
    "24207": [
      {
        "length": 32,
        "start": 1375
      },
      {
        "length": 32,
        "start": 7263
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1341:84",
        "nodeType": "YulBlock",
        "src": "0:1341:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "81:86:84",
              "nodeType": "YulBlock",
              "src": "81:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "145:16:84",
                    "nodeType": "YulBlock",
                    "src": "145:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "154:1:84",
                              "nodeType": "YulLiteral",
                              "src": "154:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "157:1:84",
                              "nodeType": "YulLiteral",
                              "src": "157:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "147:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "147:6:84"
                          },
                          "nativeSrc": "147:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "147:12:84"
                        },
                        "nativeSrc": "147:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "147:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "104:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "104:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "115:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "115:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "130:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "130:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "135:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "135:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "126:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "126:3:84"
                                    },
                                    "nativeSrc": "126:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "126:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "139:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "139:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "122:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "122:3:84"
                                },
                                "nativeSrc": "122:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "122:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "111:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "111:3:84"
                            },
                            "nativeSrc": "111:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "111:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "101:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "101:2:84"
                        },
                        "nativeSrc": "101:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "101:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "94:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "94:6:84"
                    },
                    "nativeSrc": "94:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "94:50:84"
                  },
                  "nativeSrc": "91:70:84",
                  "nodeType": "YulIf",
                  "src": "91:70:84"
                }
              ]
            },
            "name": "validator_revert_contract_WitnetRequestFactory",
            "nativeSrc": "14:153:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "70:5:84",
                "nodeType": "YulTypedName",
                "src": "70:5:84",
                "type": ""
              }
            ],
            "src": "14:153:84"
          },
          {
            "body": {
              "nativeSrc": "427:704:84",
              "nodeType": "YulBlock",
              "src": "427:704:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "474:16:84",
                    "nodeType": "YulBlock",
                    "src": "474:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "483:1:84",
                              "nodeType": "YulLiteral",
                              "src": "483:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "486:1:84",
                              "nodeType": "YulLiteral",
                              "src": "486:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "476:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "476:6:84"
                          },
                          "nativeSrc": "476:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "476:12:84"
                        },
                        "nativeSrc": "476:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "476:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "448:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "448:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "457:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "457:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "444:3:84"
                        },
                        "nativeSrc": "444:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "444:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "469:3:84",
                        "nodeType": "YulLiteral",
                        "src": "469:3:84",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "440:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "440:3:84"
                    },
                    "nativeSrc": "440:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "440:33:84"
                  },
                  "nativeSrc": "437:53:84",
                  "nodeType": "YulIf",
                  "src": "437:53:84"
                },
                {
                  "nativeSrc": "499:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "499:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "518:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "518:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "512:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "512:5:84"
                    },
                    "nativeSrc": "512:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "512:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "503:5:84",
                      "nodeType": "YulTypedName",
                      "src": "503:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "584:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "584:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_contract_WitnetRequestFactory",
                      "nativeSrc": "537:46:84",
                      "nodeType": "YulIdentifier",
                      "src": "537:46:84"
                    },
                    "nativeSrc": "537:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "537:53:84"
                  },
                  "nativeSrc": "537:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "537:53:84"
                },
                {
                  "nativeSrc": "599:15:84",
                  "nodeType": "YulAssignment",
                  "src": "599:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "609:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "609:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "599:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "599:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "623:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "623:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "648:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "648:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "659:2:84",
                            "nodeType": "YulLiteral",
                            "src": "659:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "644:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "644:3:84"
                        },
                        "nativeSrc": "644:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "644:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "638:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "638:5:84"
                    },
                    "nativeSrc": "638:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "638:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "627:7:84",
                      "nodeType": "YulTypedName",
                      "src": "627:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "719:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "719:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_contract_WitnetRequestFactory",
                      "nativeSrc": "672:46:84",
                      "nodeType": "YulIdentifier",
                      "src": "672:46:84"
                    },
                    "nativeSrc": "672:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "672:55:84"
                  },
                  "nativeSrc": "672:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "672:55:84"
                },
                {
                  "nativeSrc": "736:17:84",
                  "nodeType": "YulAssignment",
                  "src": "736:17:84",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "746:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "746:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "736:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "736:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "762:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "762:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "787:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "787:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "798:2:84",
                            "nodeType": "YulLiteral",
                            "src": "798:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "783:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "783:3:84"
                        },
                        "nativeSrc": "783:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "783:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "777:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "777:5:84"
                    },
                    "nativeSrc": "777:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "777:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "766:7:84",
                      "nodeType": "YulTypedName",
                      "src": "766:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "859:16:84",
                    "nodeType": "YulBlock",
                    "src": "859:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "868:1:84",
                              "nodeType": "YulLiteral",
                              "src": "868:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "871:1:84",
                              "nodeType": "YulLiteral",
                              "src": "871:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "861:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "861:6:84"
                          },
                          "nativeSrc": "861:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "861:12:84"
                        },
                        "nativeSrc": "861:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "861:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "824:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "824:7:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "847:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "847:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "840:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "840:6:84"
                                },
                                "nativeSrc": "840:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "840:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "833:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "833:6:84"
                            },
                            "nativeSrc": "833:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "833:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "821:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "821:2:84"
                        },
                        "nativeSrc": "821:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "821:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "814:6:84"
                    },
                    "nativeSrc": "814:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "814:44:84"
                  },
                  "nativeSrc": "811:64:84",
                  "nodeType": "YulIf",
                  "src": "811:64:84"
                },
                {
                  "nativeSrc": "884:17:84",
                  "nodeType": "YulAssignment",
                  "src": "884:17:84",
                  "value": {
                    "name": "value_2",
                    "nativeSrc": "894:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "894:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "884:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "884:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "910:35:84",
                  "nodeType": "YulAssignment",
                  "src": "910:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "941:2:84",
                            "nodeType": "YulLiteral",
                            "src": "941:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "926:3:84"
                        },
                        "nativeSrc": "926:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "926:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "920:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "920:5:84"
                    },
                    "nativeSrc": "920:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "920:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "910:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "954:36:84",
                  "nodeType": "YulAssignment",
                  "src": "954:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "974:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "974:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "985:3:84",
                            "nodeType": "YulLiteral",
                            "src": "985:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "970:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "970:3:84"
                        },
                        "nativeSrc": "970:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "970:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "964:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "964:5:84"
                    },
                    "nativeSrc": "964:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "964:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "954:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "954:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "999:36:84",
                  "nodeType": "YulAssignment",
                  "src": "999:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1019:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1030:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1030:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1015:3:84"
                        },
                        "nativeSrc": "1015:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1015:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1009:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1009:5:84"
                    },
                    "nativeSrc": "1009:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1009:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "999:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "999:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1044:36:84",
                  "nodeType": "YulAssignment",
                  "src": "1044:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1064:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1064:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1075:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1075:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1060:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1060:3:84"
                        },
                        "nativeSrc": "1060:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1060:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1054:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1054:5:84"
                    },
                    "nativeSrc": "1054:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1054:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value6",
                      "nativeSrc": "1044:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1044:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1089:36:84",
                  "nodeType": "YulAssignment",
                  "src": "1089:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1109:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1109:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1105:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1105:3:84"
                        },
                        "nativeSrc": "1105:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1105:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1099:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1099:5:84"
                    },
                    "nativeSrc": "1099:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1099:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value7",
                      "nativeSrc": "1089:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1089:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestFactory_$880t_contract$_WitnetRequestBytecodes_$849t_boolt_bytes32t_uint256t_uint256t_uint256t_uint256_fromMemory",
            "nativeSrc": "172:959:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "337:9:84",
                "nodeType": "YulTypedName",
                "src": "337:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "348:7:84",
                "nodeType": "YulTypedName",
                "src": "348:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "360:6:84",
                "nodeType": "YulTypedName",
                "src": "360:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "368:6:84",
                "nodeType": "YulTypedName",
                "src": "368:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "376:6:84",
                "nodeType": "YulTypedName",
                "src": "376:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "384:6:84",
                "nodeType": "YulTypedName",
                "src": "384:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "392:6:84",
                "nodeType": "YulTypedName",
                "src": "392:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "400:6:84",
                "nodeType": "YulTypedName",
                "src": "400:6:84",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "408:6:84",
                "nodeType": "YulTypedName",
                "src": "408:6:84",
                "type": ""
              },
              {
                "name": "value7",
                "nativeSrc": "416:6:84",
                "nodeType": "YulTypedName",
                "src": "416:6:84",
                "type": ""
              }
            ],
            "src": "172:959:84"
          },
          {
            "body": {
              "nativeSrc": "1237:102:84",
              "nodeType": "YulBlock",
              "src": "1237:102:84",
              "statements": [
                {
                  "nativeSrc": "1247:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1247:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1259:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1259:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1270:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1270:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1255:3:84"
                    },
                    "nativeSrc": "1255:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1255:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1247:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1247:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1289:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1289:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "1304:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1304:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1320:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1320:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1325:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1325:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1316:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1316:3:84"
                                },
                                "nativeSrc": "1316:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1316:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1329:1:84",
                                "nodeType": "YulLiteral",
                                "src": "1329:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "1312:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1312:3:84"
                            },
                            "nativeSrc": "1312:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1312:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1300:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1300:3:84"
                        },
                        "nativeSrc": "1300:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1300:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1282:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1282:6:84"
                    },
                    "nativeSrc": "1282:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1282:51:84"
                  },
                  "nativeSrc": "1282:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1282:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "1136:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1206:9:84",
                "nodeType": "YulTypedName",
                "src": "1206:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1217:6:84",
                "nodeType": "YulTypedName",
                "src": "1217:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1228:4:84",
                "nodeType": "YulTypedName",
                "src": "1228:4:84",
                "type": ""
              }
            ],
            "src": "1136:203:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function validator_revert_contract_WitnetRequestFactory(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_WitnetRequestFactory_$880t_contract$_WitnetRequestBytecodes_$849t_boolt_bytes32t_uint256t_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_contract_WitnetRequestFactory(value)\n        value0 := value\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_contract_WitnetRequestFactory(value_1)\n        value1 := value_1\n        let value_2 := mload(add(headStart, 64))\n        if iszero(eq(value_2, iszero(iszero(value_2)))) { revert(0, 0) }\n        value2 := value_2\n        value3 := mload(add(headStart, 96))\n        value4 := mload(add(headStart, 128))\n        value5 := mload(add(headStart, 160))\n        value6 := mload(add(headStart, 192))\n        value7 := mload(add(headStart, 224))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:44635:84",
        "nodeType": "YulBlock",
        "src": "0:44635:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "80:184:84",
              "nodeType": "YulBlock",
              "src": "80:184:84",
              "statements": [
                {
                  "nativeSrc": "90:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "90:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "99:1:84",
                    "nodeType": "YulLiteral",
                    "src": "99:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "94:1:84",
                      "nodeType": "YulTypedName",
                      "src": "94:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "159:63:84",
                    "nodeType": "YulBlock",
                    "src": "159:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "184:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "184:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "189:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "189:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "180:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "180:3:84"
                              },
                              "nativeSrc": "180:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "180:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "203:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "203:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "208:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "208:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "199:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "199:3:84"
                                  },
                                  "nativeSrc": "199:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "199:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "193:5:84"
                              },
                              "nativeSrc": "193:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "193:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "173:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "173:6:84"
                          },
                          "nativeSrc": "173:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "173:39:84"
                        },
                        "nativeSrc": "173:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "173:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "120:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "120:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "123:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "123:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "117:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "117:2:84"
                    },
                    "nativeSrc": "117:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "117:13:84"
                  },
                  "nativeSrc": "109:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "131:19:84",
                    "nodeType": "YulBlock",
                    "src": "131:19:84",
                    "statements": [
                      {
                        "nativeSrc": "133:15:84",
                        "nodeType": "YulAssignment",
                        "src": "133:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "142:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "142:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "145:2:84",
                              "nodeType": "YulLiteral",
                              "src": "145:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "138:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "138:3:84"
                          },
                          "nativeSrc": "138:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "138:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "133:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "133:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "113:3:84",
                    "nodeType": "YulBlock",
                    "src": "113:3:84",
                    "statements": []
                  },
                  "src": "109:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "242:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "242:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "247:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "247:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "238:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "238:3:84"
                        },
                        "nativeSrc": "238:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "238:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "256:1:84",
                        "nodeType": "YulLiteral",
                        "src": "256:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "231:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "231:6:84"
                    },
                    "nativeSrc": "231:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "231:27:84"
                  },
                  "nativeSrc": "231:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "231:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "14:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "58:3:84",
                "nodeType": "YulTypedName",
                "src": "58:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "63:3:84",
                "nodeType": "YulTypedName",
                "src": "63:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "68:6:84",
                "nodeType": "YulTypedName",
                "src": "68:6:84",
                "type": ""
              }
            ],
            "src": "14:250:84"
          },
          {
            "body": {
              "nativeSrc": "653:688:84",
              "nodeType": "YulBlock",
              "src": "653:688:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "670:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "670:3:84"
                      },
                      {
                        "hexValue": "6e6f7420696d706c656d656e7465643a203078",
                        "kind": "string",
                        "nativeSrc": "675:21:84",
                        "nodeType": "YulLiteral",
                        "src": "675:21:84",
                        "type": "",
                        "value": "not implemented: 0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "663:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "663:6:84"
                    },
                    "nativeSrc": "663:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "663:34:84"
                  },
                  "nativeSrc": "663:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "663:34:84"
                },
                {
                  "nativeSrc": "706:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "706:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "726:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "726:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "720:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "720:5:84"
                    },
                    "nativeSrc": "720:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "720:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "710:6:84",
                      "nodeType": "YulTypedName",
                      "src": "710:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "781:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "781:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "789:4:84",
                            "nodeType": "YulLiteral",
                            "src": "789:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "777:3:84"
                        },
                        "nativeSrc": "777:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "777:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "800:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "800:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "805:2:84",
                            "nodeType": "YulLiteral",
                            "src": "805:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "796:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "796:3:84"
                        },
                        "nativeSrc": "796:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "796:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "810:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "810:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "742:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "742:34:84"
                    },
                    "nativeSrc": "742:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "742:75:84"
                  },
                  "nativeSrc": "742:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "742:75:84"
                },
                {
                  "nativeSrc": "826:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "826:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "840:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "840:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "845:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "845:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "836:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "836:3:84"
                    },
                    "nativeSrc": "836:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "836:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "861:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "861:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "883:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "883:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "877:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "877:5:84"
                    },
                    "nativeSrc": "877:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "877:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "865:8:84",
                      "nodeType": "YulTypedName",
                      "src": "865:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "938:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "938:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "946:4:84",
                            "nodeType": "YulLiteral",
                            "src": "946:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "934:3:84"
                        },
                        "nativeSrc": "934:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "934:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "957:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "957:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "961:2:84",
                            "nodeType": "YulLiteral",
                            "src": "961:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "953:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "953:3:84"
                        },
                        "nativeSrc": "953:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "953:11:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "966:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "966:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "899:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "899:34:84"
                    },
                    "nativeSrc": "899:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "899:76:84"
                  },
                  "nativeSrc": "899:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "899:76:84"
                },
                {
                  "nativeSrc": "984:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "984:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "998:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "998:2:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "1002:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1002:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "994:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "994:3:84"
                    },
                    "nativeSrc": "994:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "994:17:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "988:2:84",
                      "nodeType": "YulTypedName",
                      "src": "988:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1020:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1020:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "1042:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1042:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1036:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1036:5:84"
                    },
                    "nativeSrc": "1036:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1036:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "1024:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1024:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "1097:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1097:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1105:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1105:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1093:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1093:3:84"
                        },
                        "nativeSrc": "1093:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1093:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "1116:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1116:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1112:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1112:3:84"
                        },
                        "nativeSrc": "1112:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1112:11:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1125:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1125:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1058:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1058:34:84"
                    },
                    "nativeSrc": "1058:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1058:76:84"
                  },
                  "nativeSrc": "1058:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1058:76:84"
                },
                {
                  "nativeSrc": "1143:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1143:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "1157:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1157:2:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1161:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1161:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1153:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1153:3:84"
                    },
                    "nativeSrc": "1153:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1153:17:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "1147:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1147:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1179:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1179:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "1201:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1201:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1195:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1195:5:84"
                    },
                    "nativeSrc": "1195:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1195:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "1183:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1183:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "1256:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1256:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1264:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1264:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1252:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1252:3:84"
                        },
                        "nativeSrc": "1252:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1252:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1275:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1275:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1279:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1279:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1271:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1271:3:84"
                        },
                        "nativeSrc": "1271:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1271:11:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "1284:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1284:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1217:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1217:34:84"
                    },
                    "nativeSrc": "1217:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1217:76:84"
                  },
                  "nativeSrc": "1217:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1217:76:84"
                },
                {
                  "nativeSrc": "1302:33:84",
                  "nodeType": "YulAssignment",
                  "src": "1302:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1317:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1317:2:84"
                          },
                          {
                            "name": "length_3",
                            "nativeSrc": "1321:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "1321:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1313:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1313:3:84"
                        },
                        "nativeSrc": "1313:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1313:17:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1332:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1332:2:84",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1309:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1309:3:84"
                    },
                    "nativeSrc": "1309:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1309:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1302:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1302:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_t_string_memory_ptr_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__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "269:1072:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "605:3:84",
                "nodeType": "YulTypedName",
                "src": "605:3:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "610:6:84",
                "nodeType": "YulTypedName",
                "src": "610:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "618:6:84",
                "nodeType": "YulTypedName",
                "src": "618:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "626:6:84",
                "nodeType": "YulTypedName",
                "src": "626:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "634:6:84",
                "nodeType": "YulTypedName",
                "src": "634:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "645:3:84",
                "nodeType": "YulTypedName",
                "src": "645:3:84",
                "type": ""
              }
            ],
            "src": "269:1072:84"
          },
          {
            "body": {
              "nativeSrc": "1391:86:84",
              "nodeType": "YulBlock",
              "src": "1391:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1455:16:84",
                    "nodeType": "YulBlock",
                    "src": "1455:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1464:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1464:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1467:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1467:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1457:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1457:6:84"
                          },
                          "nativeSrc": "1457:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1457:12:84"
                        },
                        "nativeSrc": "1457:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1457:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1414:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1414:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1425:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1425:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1440:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1440:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1445:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1445:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "1436:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1436:3:84"
                                    },
                                    "nativeSrc": "1436:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "1436:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1449:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1449:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "1432:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1432:3:84"
                                },
                                "nativeSrc": "1432:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1432:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1421:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1421:3:84"
                            },
                            "nativeSrc": "1421:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1421:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1411:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1411:2:84"
                        },
                        "nativeSrc": "1411:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1411:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1404:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1404:6:84"
                    },
                    "nativeSrc": "1404:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1404:50:84"
                  },
                  "nativeSrc": "1401:70:84",
                  "nodeType": "YulIf",
                  "src": "1401:70:84"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "1346:131:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1380:5:84",
                "nodeType": "YulTypedName",
                "src": "1380:5:84",
                "type": ""
              }
            ],
            "src": "1346:131:84"
          },
          {
            "body": {
              "nativeSrc": "1552:177:84",
              "nodeType": "YulBlock",
              "src": "1552:177:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1598:16:84",
                    "nodeType": "YulBlock",
                    "src": "1598:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1607:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1607:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1610:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1610:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1600:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1600:6:84"
                          },
                          "nativeSrc": "1600:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1600:12:84"
                        },
                        "nativeSrc": "1600:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1600:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1573:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "1573:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1582:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1582:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1569:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1569:3:84"
                        },
                        "nativeSrc": "1569:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1569:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1594:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1594:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1565:3:84"
                    },
                    "nativeSrc": "1565:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1565:32:84"
                  },
                  "nativeSrc": "1562:52:84",
                  "nodeType": "YulIf",
                  "src": "1562:52:84"
                },
                {
                  "nativeSrc": "1623:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1623:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1649:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1649:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1636:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1636:12:84"
                    },
                    "nativeSrc": "1636:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1636:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1627:5:84",
                      "nodeType": "YulTypedName",
                      "src": "1627:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1693:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "1693:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "1668:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "1668:24:84"
                    },
                    "nativeSrc": "1668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1668:31:84"
                  },
                  "nativeSrc": "1668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1668:31:84"
                },
                {
                  "nativeSrc": "1708:15:84",
                  "nodeType": "YulAssignment",
                  "src": "1708:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1718:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "1718:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1708:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "1482:247:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1518:9:84",
                "nodeType": "YulTypedName",
                "src": "1518:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1529:7:84",
                "nodeType": "YulTypedName",
                "src": "1529:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1541:6:84",
                "nodeType": "YulTypedName",
                "src": "1541:6:84",
                "type": ""
              }
            ],
            "src": "1482:247:84"
          },
          {
            "body": {
              "nativeSrc": "1829:92:84",
              "nodeType": "YulBlock",
              "src": "1829:92:84",
              "statements": [
                {
                  "nativeSrc": "1839:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1839:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1851:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1851:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1862:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1862:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1847:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1847:3:84"
                    },
                    "nativeSrc": "1847:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1847:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1839:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1839:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1881:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1881:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "1906:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1906:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "1899:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "1899:6:84"
                            },
                            "nativeSrc": "1899:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1899:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "1892:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "1892:6:84"
                        },
                        "nativeSrc": "1892:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1892:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1874:6:84"
                    },
                    "nativeSrc": "1874:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1874:41:84"
                  },
                  "nativeSrc": "1874:41:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1874:41:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "1734:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1798:9:84",
                "nodeType": "YulTypedName",
                "src": "1798:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1809:6:84",
                "nodeType": "YulTypedName",
                "src": "1809:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1820:4:84",
                "nodeType": "YulTypedName",
                "src": "1820:4:84",
                "type": ""
              }
            ],
            "src": "1734:187:84"
          },
          {
            "body": {
              "nativeSrc": "1974:113:84",
              "nodeType": "YulBlock",
              "src": "1974:113:84",
              "statements": [
                {
                  "nativeSrc": "1984:29:84",
                  "nodeType": "YulAssignment",
                  "src": "1984:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2006:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2006:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1993:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1993:12:84"
                    },
                    "nativeSrc": "1993:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1993:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "1984:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1984:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2065:16:84",
                    "nodeType": "YulBlock",
                    "src": "2065:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2074:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2077:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2077:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2067:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2067:6:84"
                          },
                          "nativeSrc": "2067:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2067:12:84"
                        },
                        "nativeSrc": "2067:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2067:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2035:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2035:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2046:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2046:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2053:8:84",
                                "nodeType": "YulLiteral",
                                "src": "2053:8:84",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2042:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2042:3:84"
                            },
                            "nativeSrc": "2042:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2042:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "2032:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "2032:2:84"
                        },
                        "nativeSrc": "2032:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2032:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2025:6:84"
                    },
                    "nativeSrc": "2025:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2025:39:84"
                  },
                  "nativeSrc": "2022:59:84",
                  "nodeType": "YulIf",
                  "src": "2022:59:84"
                }
              ]
            },
            "name": "abi_decode_uint24",
            "nativeSrc": "1926:161:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1953:6:84",
                "nodeType": "YulTypedName",
                "src": "1953:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "1964:5:84",
                "nodeType": "YulTypedName",
                "src": "1964:5:84",
                "type": ""
              }
            ],
            "src": "1926:161:84"
          },
          {
            "body": {
              "nativeSrc": "2178:166:84",
              "nodeType": "YulBlock",
              "src": "2178:166:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2224:16:84",
                    "nodeType": "YulBlock",
                    "src": "2224:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2233:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2233:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2236:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2236:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2226:6:84"
                          },
                          "nativeSrc": "2226:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2226:12:84"
                        },
                        "nativeSrc": "2226:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2226:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2199:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2199:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2208:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2208:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2195:3:84"
                        },
                        "nativeSrc": "2195:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2195:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2191:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2191:3:84"
                    },
                    "nativeSrc": "2191:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2191:32:84"
                  },
                  "nativeSrc": "2188:52:84",
                  "nodeType": "YulIf",
                  "src": "2188:52:84"
                },
                {
                  "nativeSrc": "2249:33:84",
                  "nodeType": "YulAssignment",
                  "src": "2249:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2272:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2272:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2259:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2259:12:84"
                    },
                    "nativeSrc": "2259:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2259:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "2249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2249:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "2291:47:84",
                  "nodeType": "YulAssignment",
                  "src": "2291:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2323:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2323:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2334:2:84",
                            "nodeType": "YulLiteral",
                            "src": "2334:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2319:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2319:3:84"
                        },
                        "nativeSrc": "2319:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2319:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "2301:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "2301:17:84"
                    },
                    "nativeSrc": "2301:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2301:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "2291:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2291:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint24",
            "nativeSrc": "2092:252:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2136:9:84",
                "nodeType": "YulTypedName",
                "src": "2136:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2147:7:84",
                "nodeType": "YulTypedName",
                "src": "2147:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2159:6:84",
                "nodeType": "YulTypedName",
                "src": "2159:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2167:6:84",
                "nodeType": "YulTypedName",
                "src": "2167:6:84",
                "type": ""
              }
            ],
            "src": "2092:252:84"
          },
          {
            "body": {
              "nativeSrc": "2450:76:84",
              "nodeType": "YulBlock",
              "src": "2450:76:84",
              "statements": [
                {
                  "nativeSrc": "2460:26:84",
                  "nodeType": "YulAssignment",
                  "src": "2460:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2472:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2472:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2483:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2483:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2468:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2468:3:84"
                    },
                    "nativeSrc": "2468:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2468:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2460:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "2460:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2502:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2502:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "2513:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2513:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2495:6:84"
                    },
                    "nativeSrc": "2495:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2495:25:84"
                  },
                  "nativeSrc": "2495:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2495:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "2349:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2419:9:84",
                "nodeType": "YulTypedName",
                "src": "2419:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2430:6:84",
                "nodeType": "YulTypedName",
                "src": "2430:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2441:4:84",
                "nodeType": "YulTypedName",
                "src": "2441:4:84",
                "type": ""
              }
            ],
            "src": "2349:177:84"
          },
          {
            "body": {
              "nativeSrc": "2635:283:84",
              "nodeType": "YulBlock",
              "src": "2635:283:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2684:16:84",
                    "nodeType": "YulBlock",
                    "src": "2684:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2693:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2693:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2696:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2696:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2686:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2686:6:84"
                          },
                          "nativeSrc": "2686:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2686:12:84"
                        },
                        "nativeSrc": "2686:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2686:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2663:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2663:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2671:4:84",
                                "nodeType": "YulLiteral",
                                "src": "2671:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2659:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2659:3:84"
                            },
                            "nativeSrc": "2659:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2659:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "2678:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2678:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "2655:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2655:3:84"
                        },
                        "nativeSrc": "2655:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2655:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2648:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2648:6:84"
                    },
                    "nativeSrc": "2648:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2648:35:84"
                  },
                  "nativeSrc": "2645:55:84",
                  "nodeType": "YulIf",
                  "src": "2645:55:84"
                },
                {
                  "nativeSrc": "2709:30:84",
                  "nodeType": "YulAssignment",
                  "src": "2709:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2732:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2732:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2719:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2719:12:84"
                    },
                    "nativeSrc": "2719:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2719:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "2709:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2709:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2782:16:84",
                    "nodeType": "YulBlock",
                    "src": "2782:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2791:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2791:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2794:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2794:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2784:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2784:6:84"
                          },
                          "nativeSrc": "2784:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2784:12:84"
                        },
                        "nativeSrc": "2784:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2784:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "2754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2754:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2762:18:84",
                        "nodeType": "YulLiteral",
                        "src": "2762:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2751:2:84"
                    },
                    "nativeSrc": "2751:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2751:30:84"
                  },
                  "nativeSrc": "2748:50:84",
                  "nodeType": "YulIf",
                  "src": "2748:50:84"
                },
                {
                  "nativeSrc": "2807:29:84",
                  "nodeType": "YulAssignment",
                  "src": "2807:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2823:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2823:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2831:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2831:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2819:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2819:3:84"
                    },
                    "nativeSrc": "2819:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2819:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "2807:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "2807:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2896:16:84",
                    "nodeType": "YulBlock",
                    "src": "2896:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2905:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2905:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2908:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2908:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2898:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2898:6:84"
                          },
                          "nativeSrc": "2898:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2898:12:84"
                        },
                        "nativeSrc": "2898:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2898:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2859:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2859:6:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2871:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2871:1:84",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "2874:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2874:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "2867:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2867:3:84"
                                },
                                "nativeSrc": "2867:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2867:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2855:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2855:3:84"
                            },
                            "nativeSrc": "2855:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2855:27:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2884:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2884:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2851:3:84"
                        },
                        "nativeSrc": "2851:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2851:38:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "2891:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2891:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2848:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2848:2:84"
                    },
                    "nativeSrc": "2848:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2848:47:84"
                  },
                  "nativeSrc": "2845:67:84",
                  "nodeType": "YulIf",
                  "src": "2845:67:84"
                }
              ]
            },
            "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
            "nativeSrc": "2531:387:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "2598:6:84",
                "nodeType": "YulTypedName",
                "src": "2598:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "2606:3:84",
                "nodeType": "YulTypedName",
                "src": "2606:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "2614:8:84",
                "nodeType": "YulTypedName",
                "src": "2614:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "2624:6:84",
                "nodeType": "YulTypedName",
                "src": "2624:6:84",
                "type": ""
              }
            ],
            "src": "2531:387:84"
          },
          {
            "body": {
              "nativeSrc": "3060:352:84",
              "nodeType": "YulBlock",
              "src": "3060:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3106:16:84",
                    "nodeType": "YulBlock",
                    "src": "3106:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3115:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3115:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3118:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3118:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3108:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3108:6:84"
                          },
                          "nativeSrc": "3108:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3108:12:84"
                        },
                        "nativeSrc": "3108:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3108:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3081:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3081:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3090:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3090:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3077:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3077:3:84"
                        },
                        "nativeSrc": "3077:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3077:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3102:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3102:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3073:3:84"
                    },
                    "nativeSrc": "3073:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3073:32:84"
                  },
                  "nativeSrc": "3070:52:84",
                  "nodeType": "YulIf",
                  "src": "3070:52:84"
                },
                {
                  "nativeSrc": "3131:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3131:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3158:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3158:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3145:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3145:12:84"
                    },
                    "nativeSrc": "3145:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3145:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "3135:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3135:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3211:16:84",
                    "nodeType": "YulBlock",
                    "src": "3211:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3220:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3220:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3223:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3223:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3213:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3213:6:84"
                          },
                          "nativeSrc": "3213:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3213:12:84"
                        },
                        "nativeSrc": "3213:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3213:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3183:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3183:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3191:18:84",
                        "nodeType": "YulLiteral",
                        "src": "3191:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3180:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3180:2:84"
                    },
                    "nativeSrc": "3180:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3180:30:84"
                  },
                  "nativeSrc": "3177:50:84",
                  "nodeType": "YulIf",
                  "src": "3177:50:84"
                },
                {
                  "nativeSrc": "3236:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3236:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3324:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3324:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "3335:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3335:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3320:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3320:3:84"
                        },
                        "nativeSrc": "3320:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3320:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "3344:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "3344:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "3262:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "3262:57:84"
                    },
                    "nativeSrc": "3262:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3262:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "3240:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3240:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "3250:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3250:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3361:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3361:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "3371:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3371:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3361:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3361:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "3388:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3388:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "3398:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3398:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "3388:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3388:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "2923:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3018:9:84",
                "nodeType": "YulTypedName",
                "src": "3018:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3029:7:84",
                "nodeType": "YulTypedName",
                "src": "3029:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3041:6:84",
                "nodeType": "YulTypedName",
                "src": "3041:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "3049:6:84",
                "nodeType": "YulTypedName",
                "src": "3049:6:84",
                "type": ""
              }
            ],
            "src": "2923:489:84"
          },
          {
            "body": {
              "nativeSrc": "3487:110:84",
              "nodeType": "YulBlock",
              "src": "3487:110:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3533:16:84",
                    "nodeType": "YulBlock",
                    "src": "3533:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3542:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3545:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3545:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3535:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3535:6:84"
                          },
                          "nativeSrc": "3535:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3535:12:84"
                        },
                        "nativeSrc": "3535:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3535:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3508:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3508:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3517:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3517:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3504:3:84"
                        },
                        "nativeSrc": "3504:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3504:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3529:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3529:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3500:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3500:3:84"
                    },
                    "nativeSrc": "3500:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3500:32:84"
                  },
                  "nativeSrc": "3497:52:84",
                  "nodeType": "YulIf",
                  "src": "3497:52:84"
                },
                {
                  "nativeSrc": "3558:33:84",
                  "nodeType": "YulAssignment",
                  "src": "3558:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3581:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3581:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3568:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3568:12:84"
                    },
                    "nativeSrc": "3568:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3568:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3558:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "3417:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3453:9:84",
                "nodeType": "YulTypedName",
                "src": "3453:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3464:7:84",
                "nodeType": "YulTypedName",
                "src": "3464:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3476:6:84",
                "nodeType": "YulTypedName",
                "src": "3476:6:84",
                "type": ""
              }
            ],
            "src": "3417:180:84"
          },
          {
            "body": {
              "nativeSrc": "3651:221:84",
              "nodeType": "YulBlock",
              "src": "3651:221:84",
              "statements": [
                {
                  "nativeSrc": "3661:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3661:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "3681:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "3681:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3675:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3675:5:84"
                    },
                    "nativeSrc": "3675:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3675:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3665:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3665:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3703:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3703:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3708:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3708:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3696:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3696:6:84"
                    },
                    "nativeSrc": "3696:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3696:19:84"
                  },
                  "nativeSrc": "3696:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3696:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3763:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3763:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3770:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3770:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3759:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3759:3:84"
                        },
                        "nativeSrc": "3759:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3759:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3781:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3781:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3786:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3786:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3777:3:84"
                        },
                        "nativeSrc": "3777:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3777:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3793:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3793:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "3724:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "3724:34:84"
                    },
                    "nativeSrc": "3724:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3724:76:84"
                  },
                  "nativeSrc": "3724:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3724:76:84"
                },
                {
                  "nativeSrc": "3809:57:84",
                  "nodeType": "YulAssignment",
                  "src": "3809:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3824:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3824:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "3837:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3837:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3845:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3845:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3833:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3833:3:84"
                                },
                                "nativeSrc": "3833:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3833:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3854:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3854:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "3850:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3850:3:84"
                                },
                                "nativeSrc": "3850:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3850:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3829:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3829:3:84"
                            },
                            "nativeSrc": "3829:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3829:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3820:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3820:3:84"
                        },
                        "nativeSrc": "3820:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3820:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3861:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3861:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3816:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3816:3:84"
                    },
                    "nativeSrc": "3816:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3816:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "3809:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3809:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "3602:270:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3628:5:84",
                "nodeType": "YulTypedName",
                "src": "3628:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3635:3:84",
                "nodeType": "YulTypedName",
                "src": "3635:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3643:3:84",
                "nodeType": "YulTypedName",
                "src": "3643:3:84",
                "type": ""
              }
            ],
            "src": "3602:270:84"
          },
          {
            "body": {
              "nativeSrc": "3936:428:84",
              "nodeType": "YulBlock",
              "src": "3936:428:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3953:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3953:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3968:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "3968:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3962:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "3962:5:84"
                            },
                            "nativeSrc": "3962:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3962:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3984:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3984:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3989:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3989:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "3980:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3980:3:84"
                                },
                                "nativeSrc": "3980:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3980:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3993:1:84",
                                "nodeType": "YulLiteral",
                                "src": "3993:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "3976:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3976:3:84"
                            },
                            "nativeSrc": "3976:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3976:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3958:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3958:3:84"
                        },
                        "nativeSrc": "3958:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3958:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3946:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3946:6:84"
                    },
                    "nativeSrc": "3946:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3946:51:84"
                  },
                  "nativeSrc": "3946:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3946:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4017:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4017:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4022:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4022:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4013:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4013:3:84"
                        },
                        "nativeSrc": "4013:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4013:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4043:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4043:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4050:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4050:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4039:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4039:3:84"
                                },
                                "nativeSrc": "4039:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4039:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4033:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4033:5:84"
                            },
                            "nativeSrc": "4033:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4033:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4058:18:84",
                            "nodeType": "YulLiteral",
                            "src": "4058:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4029:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4029:3:84"
                        },
                        "nativeSrc": "4029:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4029:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4006:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4006:6:84"
                    },
                    "nativeSrc": "4006:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4006:72:84"
                  },
                  "nativeSrc": "4006:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4006:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4098:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4098:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4103:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4103:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4094:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4094:3:84"
                        },
                        "nativeSrc": "4094:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4094:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4124:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4124:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4131:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4131:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4120:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4120:3:84"
                                },
                                "nativeSrc": "4120:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4120:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4114:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4114:5:84"
                            },
                            "nativeSrc": "4114:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4114:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4139:10:84",
                            "nodeType": "YulLiteral",
                            "src": "4139:10:84",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4110:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4110:3:84"
                        },
                        "nativeSrc": "4110:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4110:40:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4087:6:84"
                    },
                    "nativeSrc": "4087:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4087:64:84"
                  },
                  "nativeSrc": "4087:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4087:64:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4171:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4171:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4176:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4176:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4167:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4167:3:84"
                        },
                        "nativeSrc": "4167:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4167:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4193:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4200:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4200:4:84",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4189:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4189:3:84"
                            },
                            "nativeSrc": "4189:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4189:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "4183:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "4183:5:84"
                        },
                        "nativeSrc": "4183:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4183:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4160:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4160:6:84"
                    },
                    "nativeSrc": "4160:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4160:47:84"
                  },
                  "nativeSrc": "4160:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4160:47:84"
                },
                {
                  "nativeSrc": "4216:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4216:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4246:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4246:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4253:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4253:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4242:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4242:3:84"
                        },
                        "nativeSrc": "4242:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4242:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4236:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4236:5:84"
                    },
                    "nativeSrc": "4236:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4236:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4220:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4220:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4279:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4279:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4284:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4284:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4275:3:84"
                        },
                        "nativeSrc": "4275:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4275:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4291:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4291:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4268:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4268:6:84"
                    },
                    "nativeSrc": "4268:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4268:28:84"
                  },
                  "nativeSrc": "4268:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4268:28:84"
                },
                {
                  "nativeSrc": "4305:53:84",
                  "nodeType": "YulAssignment",
                  "src": "4305:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "4329:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "4329:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4347:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4347:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4352:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4352:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4343:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4343:3:84"
                        },
                        "nativeSrc": "4343:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4343:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "4312:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "4312:16:84"
                    },
                    "nativeSrc": "4312:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4312:46:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "4305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4305:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Response",
            "nativeSrc": "3877:487:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3913:5:84",
                "nodeType": "YulTypedName",
                "src": "3913:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3920:3:84",
                "nodeType": "YulTypedName",
                "src": "3920:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3928:3:84",
                "nodeType": "YulTypedName",
                "src": "3928:3:84",
                "type": ""
              }
            ],
            "src": "3877:487:84"
          },
          {
            "body": {
              "nativeSrc": "4524:108:84",
              "nodeType": "YulBlock",
              "src": "4524:108:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4541:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4541:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4552:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4552:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4534:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4534:6:84"
                    },
                    "nativeSrc": "4534:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4534:21:84"
                  },
                  "nativeSrc": "4534:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4534:21:84"
                },
                {
                  "nativeSrc": "4564:62:84",
                  "nodeType": "YulAssignment",
                  "src": "4564:62:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "4599:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4599:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4611:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4611:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4622:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4622:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4607:3:84"
                        },
                        "nativeSrc": "4607:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4607:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "4572:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "4572:26:84"
                    },
                    "nativeSrc": "4572:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4572:54:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4564:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4564:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed",
            "nativeSrc": "4369:263:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4493:9:84",
                "nodeType": "YulTypedName",
                "src": "4493:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4504:6:84",
                "nodeType": "YulTypedName",
                "src": "4504:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4515:4:84",
                "nodeType": "YulTypedName",
                "src": "4515:4:84",
                "type": ""
              }
            ],
            "src": "4369:263:84"
          },
          {
            "body": {
              "nativeSrc": "4695:661:84",
              "nodeType": "YulBlock",
              "src": "4695:661:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "4712:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4712:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4727:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4727:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4721:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4721:5:84"
                            },
                            "nativeSrc": "4721:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4721:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4743:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4743:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4748:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4748:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4739:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4739:3:84"
                                },
                                "nativeSrc": "4739:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4739:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4752:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4752:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "4735:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4735:3:84"
                            },
                            "nativeSrc": "4735:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4735:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4717:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4717:3:84"
                        },
                        "nativeSrc": "4717:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4717:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4705:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4705:6:84"
                    },
                    "nativeSrc": "4705:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4705:51:84"
                  },
                  "nativeSrc": "4705:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4705:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4776:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4776:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4781:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4781:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4772:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4772:3:84"
                        },
                        "nativeSrc": "4772:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4772:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4802:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4802:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4809:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4809:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4798:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4798:3:84"
                                },
                                "nativeSrc": "4798:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4798:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4792:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4792:5:84"
                            },
                            "nativeSrc": "4792:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4792:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4817:8:84",
                            "nodeType": "YulLiteral",
                            "src": "4817:8:84",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4788:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4788:3:84"
                        },
                        "nativeSrc": "4788:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4788:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4765:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4765:6:84"
                    },
                    "nativeSrc": "4765:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4765:62:84"
                  },
                  "nativeSrc": "4765:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4765:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4847:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4847:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4852:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4852:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4843:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4843:3:84"
                        },
                        "nativeSrc": "4843:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4843:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4873:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4873:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4880:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4880:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4869:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4869:3:84"
                                },
                                "nativeSrc": "4869:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4869:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4863:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4863:5:84"
                            },
                            "nativeSrc": "4863:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4863:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4888:20:84",
                            "nodeType": "YulLiteral",
                            "src": "4888:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4859:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4859:3:84"
                        },
                        "nativeSrc": "4859:50:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4859:50:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4836:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4836:6:84"
                    },
                    "nativeSrc": "4836:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4836:74:84"
                  },
                  "nativeSrc": "4836:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4836:74:84"
                },
                {
                  "nativeSrc": "4919:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4919:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4949:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4949:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4956:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4956:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4945:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4945:3:84"
                        },
                        "nativeSrc": "4945:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4945:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4939:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4939:5:84"
                    },
                    "nativeSrc": "4939:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4939:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4923:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4923:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4982:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4982:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4987:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4987:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4978:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4978:3:84"
                        },
                        "nativeSrc": "4978:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4978:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4994:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4994:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4971:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4971:6:84"
                    },
                    "nativeSrc": "4971:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4971:28:84"
                  },
                  "nativeSrc": "4971:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4971:28:84"
                },
                {
                  "nativeSrc": "5008:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5008:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "5037:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "5037:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5055:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5055:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5060:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5060:4:84",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5051:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5051:3:84"
                        },
                        "nativeSrc": "5051:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5051:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "5020:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "5020:16:84"
                    },
                    "nativeSrc": "5020:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5020:46:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "5012:4:84",
                      "nodeType": "YulTypedName",
                      "src": "5012:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5086:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5086:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5091:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5091:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5082:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5082:3:84"
                        },
                        "nativeSrc": "5082:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5082:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "5108:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "5108:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5115:4:84",
                                "nodeType": "YulLiteral",
                                "src": "5115:4:84",
                                "type": "",
                                "value": "0x80"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5104:3:84"
                            },
                            "nativeSrc": "5104:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5104:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "5098:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "5098:5:84"
                        },
                        "nativeSrc": "5098:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5098:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5075:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5075:6:84"
                    },
                    "nativeSrc": "5075:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5075:47:84"
                  },
                  "nativeSrc": "5075:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5075:47:84"
                },
                {
                  "nativeSrc": "5131:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5131:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5163:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5163:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5170:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5170:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5159:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5159:3:84"
                        },
                        "nativeSrc": "5159:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5159:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "5153:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "5153:5:84"
                    },
                    "nativeSrc": "5153:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5153:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "5135:14:84",
                      "nodeType": "YulTypedName",
                      "src": "5135:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5196:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5196:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5201:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5201:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5192:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5192:3:84"
                        },
                        "nativeSrc": "5192:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5192:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0_1",
                                "nativeSrc": "5218:14:84",
                                "nodeType": "YulIdentifier",
                                "src": "5218:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5212:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5212:5:84"
                            },
                            "nativeSrc": "5212:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5212:21:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5235:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5235:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5208:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5208:3:84"
                        },
                        "nativeSrc": "5208:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5208:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5185:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5185:6:84"
                    },
                    "nativeSrc": "5185:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5185:56:84"
                  },
                  "nativeSrc": "5185:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5185:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5261:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5261:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5266:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5266:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5257:3:84"
                        },
                        "nativeSrc": "5257:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5257:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "memberValue0_1",
                                    "nativeSrc": "5286:14:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5286:14:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5302:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "5302:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5282:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5282:3:84"
                                },
                                "nativeSrc": "5282:25:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5282:25:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5276:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5276:5:84"
                            },
                            "nativeSrc": "5276:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5276:32:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5310:18:84",
                            "nodeType": "YulLiteral",
                            "src": "5310:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5272:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5272:3:84"
                        },
                        "nativeSrc": "5272:57:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5272:57:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5250:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5250:6:84"
                    },
                    "nativeSrc": "5250:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5250:80:84"
                  },
                  "nativeSrc": "5250:80:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5250:80:84"
                },
                {
                  "nativeSrc": "5339:11:84",
                  "nodeType": "YulAssignment",
                  "src": "5339:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "5346:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "5346:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "5339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5339:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Request",
            "nativeSrc": "4637:719:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4672:5:84",
                "nodeType": "YulTypedName",
                "src": "4672:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "4679:3:84",
                "nodeType": "YulTypedName",
                "src": "4679:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "4687:3:84",
                "nodeType": "YulTypedName",
                "src": "4687:3:84",
                "type": ""
              }
            ],
            "src": "4637:719:84"
          },
          {
            "body": {
              "nativeSrc": "5514:107:84",
              "nodeType": "YulBlock",
              "src": "5514:107:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5531:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5531:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5542:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5542:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5524:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5524:6:84"
                    },
                    "nativeSrc": "5524:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5524:21:84"
                  },
                  "nativeSrc": "5524:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5524:21:84"
                },
                {
                  "nativeSrc": "5554:61:84",
                  "nodeType": "YulAssignment",
                  "src": "5554:61:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5588:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5588:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5600:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5600:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5611:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5611:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5596:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5596:3:84"
                        },
                        "nativeSrc": "5596:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5596:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "5562:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "5562:25:84"
                    },
                    "nativeSrc": "5562:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5562:53:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5554:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "5554:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed",
            "nativeSrc": "5361:260:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5483:9:84",
                "nodeType": "YulTypedName",
                "src": "5483:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5494:6:84",
                "nodeType": "YulTypedName",
                "src": "5494:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5505:4:84",
                "nodeType": "YulTypedName",
                "src": "5505:4:84",
                "type": ""
              }
            ],
            "src": "5361:260:84"
          },
          {
            "body": {
              "nativeSrc": "5658:95:84",
              "nodeType": "YulBlock",
              "src": "5658:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5675:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5675:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5682:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5682:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5687:10:84",
                            "nodeType": "YulLiteral",
                            "src": "5687:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "5678:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5678:3:84"
                        },
                        "nativeSrc": "5678:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5678:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5668:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5668:6:84"
                    },
                    "nativeSrc": "5668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5668:31:84"
                  },
                  "nativeSrc": "5668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5668:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5715:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5715:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5718:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5718:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5708:6:84"
                    },
                    "nativeSrc": "5708:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5708:15:84"
                  },
                  "nativeSrc": "5708:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5708:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5739:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5739:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5742:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5742:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "5732:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5732:6:84"
                    },
                    "nativeSrc": "5732:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5732:15:84"
                  },
                  "nativeSrc": "5732:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5732:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "5626:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "5626:127:84"
          },
          {
            "body": {
              "nativeSrc": "5814:89:84",
              "nodeType": "YulBlock",
              "src": "5814:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5848:22:84",
                    "nodeType": "YulBlock",
                    "src": "5848:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "5850:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "5850:16:84"
                          },
                          "nativeSrc": "5850:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5850:18:84"
                        },
                        "nativeSrc": "5850:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5850:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5837:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5837:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5844:1:84",
                            "nodeType": "YulLiteral",
                            "src": "5844:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5834:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "5834:2:84"
                        },
                        "nativeSrc": "5834:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5834:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5827:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5827:6:84"
                    },
                    "nativeSrc": "5827:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5827:20:84"
                  },
                  "nativeSrc": "5824:46:84",
                  "nodeType": "YulIf",
                  "src": "5824:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "5886:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "5886:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "5891:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "5891:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5879:6:84"
                    },
                    "nativeSrc": "5879:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5879:18:84"
                  },
                  "nativeSrc": "5879:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5879:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResponseStatus",
            "nativeSrc": "5758:145:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "5798:5:84",
                "nodeType": "YulTypedName",
                "src": "5798:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "5805:3:84",
                "nodeType": "YulTypedName",
                "src": "5805:3:84",
                "type": ""
              }
            ],
            "src": "5758:145:84"
          },
          {
            "body": {
              "nativeSrc": "6027:100:84",
              "nodeType": "YulBlock",
              "src": "6027:100:84",
              "statements": [
                {
                  "nativeSrc": "6037:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6037:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6060:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6060:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6045:3:84"
                    },
                    "nativeSrc": "6045:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6045:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6037:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "6103:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6103:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "6111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6111:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "6072:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "6072:30:84"
                    },
                    "nativeSrc": "6072:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6072:49:84"
                  },
                  "nativeSrc": "6072:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6072:49:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed",
            "nativeSrc": "5908:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5996:9:84",
                "nodeType": "YulTypedName",
                "src": "5996:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6007:6:84",
                "nodeType": "YulTypedName",
                "src": "6007:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6018:4:84",
                "nodeType": "YulTypedName",
                "src": "6018:4:84",
                "type": ""
              }
            ],
            "src": "5908:219:84"
          },
          {
            "body": {
              "nativeSrc": "6164:95:84",
              "nodeType": "YulBlock",
              "src": "6164:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6181:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6181:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6188:3:84",
                            "nodeType": "YulLiteral",
                            "src": "6188:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6193:10:84",
                            "nodeType": "YulLiteral",
                            "src": "6193:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6184:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6184:3:84"
                        },
                        "nativeSrc": "6184:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6184:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6174:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6174:6:84"
                    },
                    "nativeSrc": "6174:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6174:31:84"
                  },
                  "nativeSrc": "6174:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6174:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6221:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6221:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6224:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6224:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6214:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6214:6:84"
                    },
                    "nativeSrc": "6214:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6214:15:84"
                  },
                  "nativeSrc": "6214:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6214:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6245:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6245:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6248:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6248:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "6238:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6238:6:84"
                    },
                    "nativeSrc": "6238:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6238:15:84"
                  },
                  "nativeSrc": "6238:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6238:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "6132:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "6132:127:84"
          },
          {
            "body": {
              "nativeSrc": "6311:202:84",
              "nodeType": "YulBlock",
              "src": "6311:202:84",
              "statements": [
                {
                  "nativeSrc": "6321:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6321:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6343:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6343:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "6359:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "6359:4:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6365:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6365:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6355:3:84"
                            },
                            "nativeSrc": "6355:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6355:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6370:3:84"
                            },
                            "nativeSrc": "6370:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6370:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6351:3:84"
                        },
                        "nativeSrc": "6351:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6351:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6339:3:84"
                    },
                    "nativeSrc": "6339:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6339:40:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6325:10:84",
                      "nodeType": "YulTypedName",
                      "src": "6325:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6454:22:84",
                    "nodeType": "YulBlock",
                    "src": "6454:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6456:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6456:16:84"
                          },
                          "nativeSrc": "6456:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6456:18:84"
                        },
                        "nativeSrc": "6456:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6456:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6397:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6397:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6409:18:84",
                            "nodeType": "YulLiteral",
                            "src": "6409:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6394:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6394:2:84"
                        },
                        "nativeSrc": "6394:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6394:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6433:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6433:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6445:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6445:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6430:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6430:2:84"
                        },
                        "nativeSrc": "6430:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6430:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6391:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6391:2:84"
                    },
                    "nativeSrc": "6391:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6391:62:84"
                  },
                  "nativeSrc": "6388:88:84",
                  "nodeType": "YulIf",
                  "src": "6388:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6492:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6492:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6496:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "6496:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6485:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6485:6:84"
                    },
                    "nativeSrc": "6485:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6485:22:84"
                  },
                  "nativeSrc": "6485:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6485:22:84"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "6264:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6293:6:84",
                "nodeType": "YulTypedName",
                "src": "6293:6:84",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "6301:4:84",
                "nodeType": "YulTypedName",
                "src": "6301:4:84",
                "type": ""
              }
            ],
            "src": "6264:249:84"
          },
          {
            "body": {
              "nativeSrc": "6587:114:84",
              "nodeType": "YulBlock",
              "src": "6587:114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6631:22:84",
                    "nodeType": "YulBlock",
                    "src": "6631:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6633:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6633:16:84"
                          },
                          "nativeSrc": "6633:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6633:18:84"
                        },
                        "nativeSrc": "6633:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6633:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "6603:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6603:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6611:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6611:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6600:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6600:2:84"
                    },
                    "nativeSrc": "6600:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6600:30:84"
                  },
                  "nativeSrc": "6597:56:84",
                  "nodeType": "YulIf",
                  "src": "6597:56:84"
                },
                {
                  "nativeSrc": "6662:33:84",
                  "nodeType": "YulAssignment",
                  "src": "6662:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6678:1:84",
                            "nodeType": "YulLiteral",
                            "src": "6678:1:84",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "6681:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6681:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6674:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6674:3:84"
                        },
                        "nativeSrc": "6674:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6674:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6690:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6690:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6670:3:84"
                    },
                    "nativeSrc": "6670:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6670:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "6662:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6662:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_address_dyn",
            "nativeSrc": "6518:183:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "6567:6:84",
                "nodeType": "YulTypedName",
                "src": "6567:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "6578:4:84",
                "nodeType": "YulTypedName",
                "src": "6578:4:84",
                "type": ""
              }
            ],
            "src": "6518:183:84"
          },
          {
            "body": {
              "nativeSrc": "6801:933:84",
              "nodeType": "YulBlock",
              "src": "6801:933:84",
              "statements": [
                {
                  "nativeSrc": "6811:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6811:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6821:2:84",
                    "nodeType": "YulLiteral",
                    "src": "6821:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "6815:2:84",
                      "nodeType": "YulTypedName",
                      "src": "6815:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6868:16:84",
                    "nodeType": "YulBlock",
                    "src": "6868:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6877:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6877:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6880:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6870:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6870:6:84"
                          },
                          "nativeSrc": "6870:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6870:12:84"
                        },
                        "nativeSrc": "6870:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6870:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6843:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "6843:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6852:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6852:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6839:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6839:3:84"
                        },
                        "nativeSrc": "6839:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6839:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6864:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6864:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6835:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6835:3:84"
                    },
                    "nativeSrc": "6835:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6835:32:84"
                  },
                  "nativeSrc": "6832:52:84",
                  "nodeType": "YulIf",
                  "src": "6832:52:84"
                },
                {
                  "nativeSrc": "6893:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6893:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6920:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6920:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6907:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6907:12:84"
                    },
                    "nativeSrc": "6907:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6907:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6897:6:84",
                      "nodeType": "YulTypedName",
                      "src": "6897:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6973:16:84",
                    "nodeType": "YulBlock",
                    "src": "6973:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6982:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6982:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6985:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6985:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6975:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6975:6:84"
                          },
                          "nativeSrc": "6975:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6975:12:84"
                        },
                        "nativeSrc": "6975:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6975:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6945:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6945:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6953:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6953:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6942:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6942:2:84"
                    },
                    "nativeSrc": "6942:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6942:30:84"
                  },
                  "nativeSrc": "6939:50:84",
                  "nodeType": "YulIf",
                  "src": "6939:50:84"
                },
                {
                  "nativeSrc": "6998:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6998:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7012:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7012:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7023:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7023:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7008:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7008:3:84"
                    },
                    "nativeSrc": "7008:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7008:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "7002:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7002:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7078:16:84",
                    "nodeType": "YulBlock",
                    "src": "7078:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7087:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7087:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7090:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7090:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7080:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7080:6:84"
                          },
                          "nativeSrc": "7080:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7080:12:84"
                        },
                        "nativeSrc": "7080:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7080:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "7057:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7057:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7061:4:84",
                                "nodeType": "YulLiteral",
                                "src": "7061:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7053:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7053:3:84"
                            },
                            "nativeSrc": "7053:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7053:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7068:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7068:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "7049:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7049:3:84"
                        },
                        "nativeSrc": "7049:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7049:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7042:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7042:6:84"
                    },
                    "nativeSrc": "7042:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7042:35:84"
                  },
                  "nativeSrc": "7039:55:84",
                  "nodeType": "YulIf",
                  "src": "7039:55:84"
                },
                {
                  "nativeSrc": "7103:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7103:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7126:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7126:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7113:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7113:12:84"
                    },
                    "nativeSrc": "7113:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7113:16:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "7107:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7107:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7138:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7138:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "7188:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7188:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "7148:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "7148:39:84"
                    },
                    "nativeSrc": "7148:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7148:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "7142:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7142:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7200:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7200:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7214:5:84"
                    },
                    "nativeSrc": "7214:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7214:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "7204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7252:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7252:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "7260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "7232:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "7232:19:84"
                    },
                    "nativeSrc": "7232:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7232:31:84"
                  },
                  "nativeSrc": "7232:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7232:31:84"
                },
                {
                  "nativeSrc": "7272:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7272:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7283:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7283:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "7276:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7276:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7305:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7305:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "7313:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7313:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7298:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7298:6:84"
                    },
                    "nativeSrc": "7298:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7298:18:84"
                  },
                  "nativeSrc": "7298:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7298:18:84"
                },
                {
                  "nativeSrc": "7325:22:84",
                  "nodeType": "YulAssignment",
                  "src": "7325:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7336:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7344:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7344:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7332:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7332:3:84"
                    },
                    "nativeSrc": "7332:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7332:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "7325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7325:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "7356:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7356:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "7378:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7378:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7386:1:84",
                                "nodeType": "YulLiteral",
                                "src": "7386:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "7389:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7389:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "7382:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7382:3:84"
                            },
                            "nativeSrc": "7382:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7382:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7374:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7374:3:84"
                        },
                        "nativeSrc": "7374:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7374:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7395:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7395:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7370:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7370:3:84"
                    },
                    "nativeSrc": "7370:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7370:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "7360:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7360:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7430:16:84",
                    "nodeType": "YulBlock",
                    "src": "7430:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7439:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7439:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7442:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7442:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7432:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7432:6:84"
                          },
                          "nativeSrc": "7432:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7432:12:84"
                        },
                        "nativeSrc": "7432:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7432:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7413:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7413:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "7421:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "7421:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7410:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7410:2:84"
                    },
                    "nativeSrc": "7410:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7410:19:84"
                  },
                  "nativeSrc": "7407:39:84",
                  "nodeType": "YulIf",
                  "src": "7407:39:84"
                },
                {
                  "nativeSrc": "7455:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7455:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7470:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7470:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7474:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7474:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7466:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7466:3:84"
                    },
                    "nativeSrc": "7466:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7466:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "7459:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7459:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7542:161:84",
                    "nodeType": "YulBlock",
                    "src": "7542:161:84",
                    "statements": [
                      {
                        "nativeSrc": "7556:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "7556:30:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7582:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7582:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "7569:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "7569:12:84"
                          },
                          "nativeSrc": "7569:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7569:17:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "7560:5:84",
                            "nodeType": "YulTypedName",
                            "src": "7560:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "7624:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7624:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "7599:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "7599:24:84"
                          },
                          "nativeSrc": "7599:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7599:31:84"
                        },
                        "nativeSrc": "7599:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7599:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7650:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7650:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "7655:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7655:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7643:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7643:6:84"
                          },
                          "nativeSrc": "7643:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7643:18:84"
                        },
                        "nativeSrc": "7643:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7643:18:84"
                      },
                      {
                        "nativeSrc": "7674:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7674:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7685:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7685:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7690:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7690:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7681:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7681:3:84"
                          },
                          "nativeSrc": "7681:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7681:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "7674:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7674:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "7497:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "7497:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7502:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "7494:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7494:2:84"
                    },
                    "nativeSrc": "7494:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7494:15:84"
                  },
                  "nativeSrc": "7486:217:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "7510:23:84",
                    "nodeType": "YulBlock",
                    "src": "7510:23:84",
                    "statements": [
                      {
                        "nativeSrc": "7512:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7512:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7523:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7523:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7528:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7528:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7519:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7519:3:84"
                          },
                          "nativeSrc": "7519:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7519:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "7512:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7512:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "7490:3:84",
                    "nodeType": "YulBlock",
                    "src": "7490:3:84",
                    "statements": []
                  },
                  "src": "7486:217:84"
                },
                {
                  "nativeSrc": "7712:16:84",
                  "nodeType": "YulAssignment",
                  "src": "7712:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7722:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7722:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7712:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr",
            "nativeSrc": "6706:1028:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6767:9:84",
                "nodeType": "YulTypedName",
                "src": "6767:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6778:7:84",
                "nodeType": "YulTypedName",
                "src": "6778:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6790:6:84",
                "nodeType": "YulTypedName",
                "src": "6790:6:84",
                "type": ""
              }
            ],
            "src": "6706:1028:84"
          },
          {
            "body": {
              "nativeSrc": "7810:85:84",
              "nodeType": "YulBlock",
              "src": "7810:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7849:16:84",
                    "nodeType": "YulBlock",
                    "src": "7849:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7858:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7858:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7861:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7861:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7851:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7851:6:84"
                          },
                          "nativeSrc": "7851:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7851:12:84"
                        },
                        "nativeSrc": "7851:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7851:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "7831:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7831:3:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "7836:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7836:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7827:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7827:3:84"
                        },
                        "nativeSrc": "7827:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7827:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7845:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7845:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7823:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7823:3:84"
                    },
                    "nativeSrc": "7823:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7823:25:84"
                  },
                  "nativeSrc": "7820:45:84",
                  "nodeType": "YulIf",
                  "src": "7820:45:84"
                },
                {
                  "nativeSrc": "7874:15:84",
                  "nodeType": "YulAssignment",
                  "src": "7874:15:84",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "7883:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7883:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7874:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7874:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLA_calldata",
            "nativeSrc": "7739:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "7784:6:84",
                "nodeType": "YulTypedName",
                "src": "7784:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7792:3:84",
                "nodeType": "YulTypedName",
                "src": "7792:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "7800:5:84",
                "nodeType": "YulTypedName",
                "src": "7800:5:84",
                "type": ""
              }
            ],
            "src": "7739:156:84"
          },
          {
            "body": {
              "nativeSrc": "8016:193:84",
              "nodeType": "YulBlock",
              "src": "8016:193:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8062:16:84",
                    "nodeType": "YulBlock",
                    "src": "8062:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8071:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8071:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8074:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8064:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8064:6:84"
                          },
                          "nativeSrc": "8064:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8064:12:84"
                        },
                        "nativeSrc": "8064:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8064:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8037:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8037:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8046:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8046:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8033:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8033:3:84"
                        },
                        "nativeSrc": "8033:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8033:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8058:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8058:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8029:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8029:3:84"
                    },
                    "nativeSrc": "8029:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8029:32:84"
                  },
                  "nativeSrc": "8026:52:84",
                  "nodeType": "YulIf",
                  "src": "8026:52:84"
                },
                {
                  "nativeSrc": "8087:33:84",
                  "nodeType": "YulAssignment",
                  "src": "8087:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8110:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8110:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8097:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8097:12:84"
                    },
                    "nativeSrc": "8097:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8097:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8087:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "8129:74:84",
                  "nodeType": "YulAssignment",
                  "src": "8129:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8179:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8179:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8190:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8190:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8175:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8175:3:84"
                        },
                        "nativeSrc": "8175:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8175:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8195:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8195:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "8139:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "8139:35:84"
                    },
                    "nativeSrc": "8139:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8139:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8129:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8129:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptr",
            "nativeSrc": "7900:309:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7974:9:84",
                "nodeType": "YulTypedName",
                "src": "7974:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7985:7:84",
                "nodeType": "YulTypedName",
                "src": "7985:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7997:6:84",
                "nodeType": "YulTypedName",
                "src": "7997:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8005:6:84",
                "nodeType": "YulTypedName",
                "src": "8005:6:84",
                "type": ""
              }
            ],
            "src": "7900:309:84"
          },
          {
            "body": {
              "nativeSrc": "8271:129:84",
              "nodeType": "YulBlock",
              "src": "8271:129:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8315:22:84",
                    "nodeType": "YulBlock",
                    "src": "8315:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8317:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "8317:16:84"
                          },
                          "nativeSrc": "8317:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8317:18:84"
                        },
                        "nativeSrc": "8317:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8317:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "8287:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8287:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8295:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8295:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8284:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8284:2:84"
                    },
                    "nativeSrc": "8284:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8284:30:84"
                  },
                  "nativeSrc": "8281:56:84",
                  "nodeType": "YulIf",
                  "src": "8281:56:84"
                },
                {
                  "nativeSrc": "8346:48:84",
                  "nodeType": "YulAssignment",
                  "src": "8346:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "8366:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "8366:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8362:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8362:3:84"
                            },
                            "nativeSrc": "8362:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8362:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8383:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8383:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "8379:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8379:3:84"
                            },
                            "nativeSrc": "8379:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8379:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8358:3:84"
                        },
                        "nativeSrc": "8358:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8358:29:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8389:4:84",
                        "nodeType": "YulLiteral",
                        "src": "8389:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8354:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8354:3:84"
                    },
                    "nativeSrc": "8354:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8354:40:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "8346:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "8346:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "8214:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "8251:6:84",
                "nodeType": "YulTypedName",
                "src": "8251:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "8262:4:84",
                "nodeType": "YulTypedName",
                "src": "8262:4:84",
                "type": ""
              }
            ],
            "src": "8214:186:84"
          },
          {
            "body": {
              "nativeSrc": "8484:648:84",
              "nodeType": "YulBlock",
              "src": "8484:648:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8530:16:84",
                    "nodeType": "YulBlock",
                    "src": "8530:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8539:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8539:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8542:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8532:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8532:6:84"
                          },
                          "nativeSrc": "8532:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8532:12:84"
                        },
                        "nativeSrc": "8532:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8532:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8505:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8505:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8514:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8514:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8501:3:84"
                        },
                        "nativeSrc": "8501:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8501:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8526:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8526:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8497:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8497:3:84"
                    },
                    "nativeSrc": "8497:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8497:32:84"
                  },
                  "nativeSrc": "8494:52:84",
                  "nodeType": "YulIf",
                  "src": "8494:52:84"
                },
                {
                  "nativeSrc": "8555:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8555:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8582:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8582:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8569:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8569:12:84"
                    },
                    "nativeSrc": "8569:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8569:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8559:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8559:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8635:16:84",
                    "nodeType": "YulBlock",
                    "src": "8635:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8644:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8644:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8647:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8647:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8637:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8637:6:84"
                          },
                          "nativeSrc": "8637:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8637:12:84"
                        },
                        "nativeSrc": "8637:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8637:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8607:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8607:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8615:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8615:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8604:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8604:2:84"
                    },
                    "nativeSrc": "8604:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8604:30:84"
                  },
                  "nativeSrc": "8601:50:84",
                  "nodeType": "YulIf",
                  "src": "8601:50:84"
                },
                {
                  "nativeSrc": "8660:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8660:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8674:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8674:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "8685:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8685:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8670:3:84"
                    },
                    "nativeSrc": "8670:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8670:22:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8664:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8664:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8740:16:84",
                    "nodeType": "YulBlock",
                    "src": "8740:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8749:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8749:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8752:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8752:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8742:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8742:6:84"
                          },
                          "nativeSrc": "8742:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8742:12:84"
                        },
                        "nativeSrc": "8742:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8742:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8719:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8719:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8723:4:84",
                                "nodeType": "YulLiteral",
                                "src": "8723:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8715:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8715:3:84"
                            },
                            "nativeSrc": "8715:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8715:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8730:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8730:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "8711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8711:3:84"
                        },
                        "nativeSrc": "8711:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8711:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8704:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8704:6:84"
                    },
                    "nativeSrc": "8704:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8704:35:84"
                  },
                  "nativeSrc": "8701:55:84",
                  "nodeType": "YulIf",
                  "src": "8701:55:84"
                },
                {
                  "nativeSrc": "8765:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8765:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "8788:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8788:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8775:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8775:12:84"
                    },
                    "nativeSrc": "8775:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8775:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "8769:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8769:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8800:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8800:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "8838:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8838:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "8810:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "8810:27:84"
                    },
                    "nativeSrc": "8810:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8810:31:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "8804:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8804:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8850:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8850:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8870:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8870:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8864:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8864:5:84"
                    },
                    "nativeSrc": "8864:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8864:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "8854:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8854:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8902:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8902:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "8910:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8910:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "8882:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "8882:19:84"
                    },
                    "nativeSrc": "8882:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8882:31:84"
                  },
                  "nativeSrc": "8882:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8882:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8929:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "8937:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8937:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8922:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8922:6:84"
                    },
                    "nativeSrc": "8922:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8922:18:84"
                  },
                  "nativeSrc": "8922:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8922:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "8986:16:84",
                    "nodeType": "YulBlock",
                    "src": "8986:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8995:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8995:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8998:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8998:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8988:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8988:6:84"
                          },
                          "nativeSrc": "8988:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8988:12:84"
                        },
                        "nativeSrc": "8988:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8988:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8963:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8963:2:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "8967:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8967:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8959:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8959:3:84"
                            },
                            "nativeSrc": "8959:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8959:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8972:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8972:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8955:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8955:3:84"
                        },
                        "nativeSrc": "8955:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8955:20:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8977:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8977:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8952:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8952:2:84"
                    },
                    "nativeSrc": "8952:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8952:33:84"
                  },
                  "nativeSrc": "8949:53:84",
                  "nodeType": "YulIf",
                  "src": "8949:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "9028:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9028:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9036:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9036:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9024:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9024:3:84"
                        },
                        "nativeSrc": "9024:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9024:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "9045:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9045:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9049:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9049:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9041:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9041:3:84"
                        },
                        "nativeSrc": "9041:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9041:11:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "9054:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9054:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "9011:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9011:12:84"
                    },
                    "nativeSrc": "9011:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9011:46:84"
                  },
                  "nativeSrc": "9011:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9011:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "9081:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "9081:6:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "9089:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "9089:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9077:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9077:3:84"
                            },
                            "nativeSrc": "9077:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9077:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9094:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9094:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9073:3:84"
                        },
                        "nativeSrc": "9073:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9073:24:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9099:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9099:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9066:6:84"
                    },
                    "nativeSrc": "9066:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9066:35:84"
                  },
                  "nativeSrc": "9066:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9066:35:84"
                },
                {
                  "nativeSrc": "9110:16:84",
                  "nodeType": "YulAssignment",
                  "src": "9110:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "9120:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9120:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9110:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9110:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "8405:727:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8450:9:84",
                "nodeType": "YulTypedName",
                "src": "8450:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8461:7:84",
                "nodeType": "YulTypedName",
                "src": "8461:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8473:6:84",
                "nodeType": "YulTypedName",
                "src": "8473:6:84",
                "type": ""
              }
            ],
            "src": "8405:727:84"
          },
          {
            "body": {
              "nativeSrc": "9242:352:84",
              "nodeType": "YulBlock",
              "src": "9242:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9288:16:84",
                    "nodeType": "YulBlock",
                    "src": "9288:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9297:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9297:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9300:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9300:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9290:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9290:6:84"
                          },
                          "nativeSrc": "9290:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9290:12:84"
                        },
                        "nativeSrc": "9290:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9290:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9263:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9263:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9272:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9272:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9259:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9259:3:84"
                        },
                        "nativeSrc": "9259:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9259:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9284:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9284:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9255:3:84"
                    },
                    "nativeSrc": "9255:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9255:32:84"
                  },
                  "nativeSrc": "9252:52:84",
                  "nodeType": "YulIf",
                  "src": "9252:52:84"
                },
                {
                  "nativeSrc": "9313:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9313:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9340:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9340:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9327:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9327:12:84"
                    },
                    "nativeSrc": "9327:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9327:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "9317:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9317:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9393:16:84",
                    "nodeType": "YulBlock",
                    "src": "9393:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9402:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9402:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9405:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9405:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9395:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9395:6:84"
                          },
                          "nativeSrc": "9395:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9395:12:84"
                        },
                        "nativeSrc": "9395:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9395:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9365:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9365:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9373:18:84",
                        "nodeType": "YulLiteral",
                        "src": "9373:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9362:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "9362:2:84"
                    },
                    "nativeSrc": "9362:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9362:30:84"
                  },
                  "nativeSrc": "9359:50:84",
                  "nodeType": "YulIf",
                  "src": "9359:50:84"
                },
                {
                  "nativeSrc": "9418:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9418:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9506:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9506:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "9517:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9517:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9502:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9502:3:84"
                        },
                        "nativeSrc": "9502:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9502:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "9526:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "9526:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "9444:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "9444:57:84"
                    },
                    "nativeSrc": "9444:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9444:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "9422:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9422:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "9432:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9432:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9543:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9543:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "9553:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9553:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9543:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9543:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9570:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9570:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "9580:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9580:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "9570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
            "nativeSrc": "9137:457:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9200:9:84",
                "nodeType": "YulTypedName",
                "src": "9200:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9211:7:84",
                "nodeType": "YulTypedName",
                "src": "9211:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9223:6:84",
                "nodeType": "YulTypedName",
                "src": "9223:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "9231:6:84",
                "nodeType": "YulTypedName",
                "src": "9231:6:84",
                "type": ""
              }
            ],
            "src": "9137:457:84"
          },
          {
            "body": {
              "nativeSrc": "9768:631:84",
              "nodeType": "YulBlock",
              "src": "9768:631:84",
              "statements": [
                {
                  "nativeSrc": "9778:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9778:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9788:2:84",
                    "nodeType": "YulLiteral",
                    "src": "9788:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9782:2:84",
                      "nodeType": "YulTypedName",
                      "src": "9782:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9799:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9799:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9817:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9817:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9828:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9828:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9813:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9813:3:84"
                    },
                    "nativeSrc": "9813:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9813:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "9803:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9803:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9847:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9847:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9858:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9858:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9840:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9840:6:84"
                    },
                    "nativeSrc": "9840:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9840:21:84"
                  },
                  "nativeSrc": "9840:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9840:21:84"
                },
                {
                  "nativeSrc": "9870:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9870:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "9881:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9881:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "9874:3:84",
                      "nodeType": "YulTypedName",
                      "src": "9874:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9896:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9896:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9916:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9916:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9910:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9910:5:84"
                    },
                    "nativeSrc": "9910:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9910:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "9900:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9900:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "9939:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9939:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9947:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9947:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9932:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9932:6:84"
                    },
                    "nativeSrc": "9932:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9932:22:84"
                  },
                  "nativeSrc": "9932:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9932:22:84"
                },
                {
                  "nativeSrc": "9963:25:84",
                  "nodeType": "YulAssignment",
                  "src": "9963:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9974:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9974:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9985:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9985:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9970:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9970:3:84"
                    },
                    "nativeSrc": "9970:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9970:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "9963:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9963:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9997:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9997:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10019:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "10034:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10034:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "10037:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "10037:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "10030:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10030:3:84"
                            },
                            "nativeSrc": "10030:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10030:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10015:3:84"
                        },
                        "nativeSrc": "10015:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10015:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10047:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10047:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10011:3:84"
                    },
                    "nativeSrc": "10011:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10011:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "10001:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10001:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10059:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10059:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10077:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10077:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10085:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10085:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10073:3:84"
                    },
                    "nativeSrc": "10073:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10073:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "10063:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10063:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10097:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10097:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "10106:1:84",
                    "nodeType": "YulLiteral",
                    "src": "10106:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "10101:1:84",
                      "nodeType": "YulTypedName",
                      "src": "10101:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10165:205:84",
                    "nodeType": "YulBlock",
                    "src": "10165:205:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10186:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10186:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "10199:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10199:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "10207:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10207:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "10195:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10195:3:84"
                                  },
                                  "nativeSrc": "10195:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10195:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "10223:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "10223:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "10219:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10219:3:84"
                                  },
                                  "nativeSrc": "10219:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10219:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "10191:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "10191:3:84"
                              },
                              "nativeSrc": "10191:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10191:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "10179:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10179:6:84"
                          },
                          "nativeSrc": "10179:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10179:49:84"
                        },
                        "nativeSrc": "10179:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10179:49:84"
                      },
                      {
                        "nativeSrc": "10241:49:84",
                        "nodeType": "YulAssignment",
                        "src": "10241:49:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "10274:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10274:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "10268:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "10268:5:84"
                              },
                              "nativeSrc": "10268:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10268:13:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "10283:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10283:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_bytes",
                            "nativeSrc": "10251:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10251:16:84"
                          },
                          "nativeSrc": "10251:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10251:39:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "10241:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10241:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10303:25:84",
                        "nodeType": "YulAssignment",
                        "src": "10303:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "10317:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10317:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10325:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10325:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10313:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10313:3:84"
                          },
                          "nativeSrc": "10313:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10313:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "10303:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10303:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10341:19:84",
                        "nodeType": "YulAssignment",
                        "src": "10341:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10352:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10352:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10357:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10357:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10348:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10348:3:84"
                          },
                          "nativeSrc": "10348:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10348:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "10341:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10341:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "10127:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10127:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "10130:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10130:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "10124:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10124:2:84"
                    },
                    "nativeSrc": "10124:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10124:13:84"
                  },
                  "nativeSrc": "10116:254:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "10138:18:84",
                    "nodeType": "YulBlock",
                    "src": "10138:18:84",
                    "statements": [
                      {
                        "nativeSrc": "10140:14:84",
                        "nodeType": "YulAssignment",
                        "src": "10140:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "10149:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "10149:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10152:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10152:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10145:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10145:3:84"
                          },
                          "nativeSrc": "10145:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10145:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "10140:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "10140:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "10120:3:84",
                    "nodeType": "YulBlock",
                    "src": "10120:3:84",
                    "statements": []
                  },
                  "src": "10116:254:84"
                },
                {
                  "nativeSrc": "10379:14:84",
                  "nodeType": "YulAssignment",
                  "src": "10379:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "10387:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "10387:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10379:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10379:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "9599:800:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9737:9:84",
                "nodeType": "YulTypedName",
                "src": "9737:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9748:6:84",
                "nodeType": "YulTypedName",
                "src": "9748:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9759:4:84",
                "nodeType": "YulTypedName",
                "src": "9759:4:84",
                "type": ""
              }
            ],
            "src": "9599:800:84"
          },
          {
            "body": {
              "nativeSrc": "10505:102:84",
              "nodeType": "YulBlock",
              "src": "10505:102:84",
              "statements": [
                {
                  "nativeSrc": "10515:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10515:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10527:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10527:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10538:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10538:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10523:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10523:3:84"
                    },
                    "nativeSrc": "10523:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10523:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10515:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10515:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10557:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10557:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10572:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10572:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10588:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10588:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10593:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10593:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "10584:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10584:3:84"
                                },
                                "nativeSrc": "10584:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "10584:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10597:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10597:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "10580:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10580:3:84"
                            },
                            "nativeSrc": "10580:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10580:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10568:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10568:3:84"
                        },
                        "nativeSrc": "10568:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10568:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10550:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10550:6:84"
                    },
                    "nativeSrc": "10550:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10550:51:84"
                  },
                  "nativeSrc": "10550:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10550:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "10404:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10474:9:84",
                "nodeType": "YulTypedName",
                "src": "10474:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10485:6:84",
                "nodeType": "YulTypedName",
                "src": "10485:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10496:4:84",
                "nodeType": "YulTypedName",
                "src": "10496:4:84",
                "type": ""
              }
            ],
            "src": "10404:203:84"
          },
          {
            "body": {
              "nativeSrc": "10713:76:84",
              "nodeType": "YulBlock",
              "src": "10713:76:84",
              "statements": [
                {
                  "nativeSrc": "10723:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10723:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10735:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10735:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10746:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10746:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10731:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10731:3:84"
                    },
                    "nativeSrc": "10731:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10731:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10723:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10723:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10765:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10765:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "10776:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10776:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10758:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10758:6:84"
                    },
                    "nativeSrc": "10758:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10758:25:84"
                  },
                  "nativeSrc": "10758:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10758:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "10612:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10682:9:84",
                "nodeType": "YulTypedName",
                "src": "10682:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10693:6:84",
                "nodeType": "YulTypedName",
                "src": "10693:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10704:4:84",
                "nodeType": "YulTypedName",
                "src": "10704:4:84",
                "type": ""
              }
            ],
            "src": "10612:177:84"
          },
          {
            "body": {
              "nativeSrc": "10915:98:84",
              "nodeType": "YulBlock",
              "src": "10915:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10932:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10932:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10943:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10943:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10925:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10925:6:84"
                    },
                    "nativeSrc": "10925:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10925:21:84"
                  },
                  "nativeSrc": "10925:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10925:21:84"
                },
                {
                  "nativeSrc": "10955:52:84",
                  "nodeType": "YulAssignment",
                  "src": "10955:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10980:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10980:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10992:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10992:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11003:2:84",
                            "nodeType": "YulLiteral",
                            "src": "11003:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10988:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10988:3:84"
                        },
                        "nativeSrc": "10988:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10988:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "10963:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "10963:16:84"
                    },
                    "nativeSrc": "10963:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10963:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10955:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10955:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "10794:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10884:9:84",
                "nodeType": "YulTypedName",
                "src": "10884:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10895:6:84",
                "nodeType": "YulTypedName",
                "src": "10895:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10906:4:84",
                "nodeType": "YulTypedName",
                "src": "10906:4:84",
                "type": ""
              }
            ],
            "src": "10794:219:84"
          },
          {
            "body": {
              "nativeSrc": "11071:89:84",
              "nodeType": "YulBlock",
              "src": "11071:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11105:22:84",
                    "nodeType": "YulBlock",
                    "src": "11105:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11107:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "11107:16:84"
                          },
                          "nativeSrc": "11107:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11107:18:84"
                        },
                        "nativeSrc": "11107:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11107:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11094:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11094:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11101:1:84",
                            "nodeType": "YulLiteral",
                            "src": "11101:1:84",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11091:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "11091:2:84"
                        },
                        "nativeSrc": "11091:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11091:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11084:6:84"
                    },
                    "nativeSrc": "11084:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11084:20:84"
                  },
                  "nativeSrc": "11081:46:84",
                  "nodeType": "YulIf",
                  "src": "11081:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11143:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11143:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11148:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "11148:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11136:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11136:6:84"
                    },
                    "nativeSrc": "11136:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11136:18:84"
                  },
                  "nativeSrc": "11136:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11136:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_QueryStatus",
            "nativeSrc": "11018:142:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11055:5:84",
                "nodeType": "YulTypedName",
                "src": "11055:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11062:3:84",
                "nodeType": "YulTypedName",
                "src": "11062:3:84",
                "type": ""
              }
            ],
            "src": "11018:142:84"
          },
          {
            "body": {
              "nativeSrc": "11331:502:84",
              "nodeType": "YulBlock",
              "src": "11331:502:84",
              "statements": [
                {
                  "nativeSrc": "11341:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11341:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11351:2:84",
                    "nodeType": "YulLiteral",
                    "src": "11351:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "11345:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11345:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11362:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11362:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11380:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11380:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11391:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11391:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11376:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11376:3:84"
                    },
                    "nativeSrc": "11376:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11376:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "11366:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11366:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11410:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11410:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11421:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11421:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11403:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11403:6:84"
                    },
                    "nativeSrc": "11403:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11403:21:84"
                  },
                  "nativeSrc": "11403:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11403:21:84"
                },
                {
                  "nativeSrc": "11433:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11433:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "11444:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "11444:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "11437:3:84",
                      "nodeType": "YulTypedName",
                      "src": "11437:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11459:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11459:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11479:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11479:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11473:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11473:5:84"
                    },
                    "nativeSrc": "11473:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11473:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11463:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11463:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "11502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11502:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11510:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11510:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11495:6:84"
                    },
                    "nativeSrc": "11495:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11495:22:84"
                  },
                  "nativeSrc": "11495:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11495:22:84"
                },
                {
                  "nativeSrc": "11526:25:84",
                  "nodeType": "YulAssignment",
                  "src": "11526:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11537:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11537:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11548:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11548:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11533:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11533:3:84"
                    },
                    "nativeSrc": "11533:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11533:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "11526:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11526:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "11560:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11560:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11578:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11578:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11586:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11586:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11574:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11574:3:84"
                    },
                    "nativeSrc": "11574:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11574:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "11564:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11564:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11598:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11598:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11607:1:84",
                    "nodeType": "YulLiteral",
                    "src": "11607:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "11602:1:84",
                      "nodeType": "YulTypedName",
                      "src": "11602:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11666:141:84",
                    "nodeType": "YulBlock",
                    "src": "11666:141:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "11714:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "11714:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "11708:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "11708:5:84"
                              },
                              "nativeSrc": "11708:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "11708:13:84"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "11723:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11723:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_QueryStatus",
                            "nativeSrc": "11680:27:84",
                            "nodeType": "YulIdentifier",
                            "src": "11680:27:84"
                          },
                          "nativeSrc": "11680:47:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11680:47:84"
                        },
                        "nativeSrc": "11680:47:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11680:47:84"
                      },
                      {
                        "nativeSrc": "11740:19:84",
                        "nodeType": "YulAssignment",
                        "src": "11740:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "11751:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11751:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11756:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11756:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11747:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11747:3:84"
                          },
                          "nativeSrc": "11747:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11747:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "11740:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11740:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "11772:25:84",
                        "nodeType": "YulAssignment",
                        "src": "11772:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "11786:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "11786:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11794:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11794:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11782:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11782:3:84"
                          },
                          "nativeSrc": "11782:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11782:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "11772:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11772:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "11628:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "11628:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11631:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11631:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11625:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11625:2:84"
                    },
                    "nativeSrc": "11625:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11625:13:84"
                  },
                  "nativeSrc": "11617:190:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11639:18:84",
                    "nodeType": "YulBlock",
                    "src": "11639:18:84",
                    "statements": [
                      {
                        "nativeSrc": "11641:14:84",
                        "nodeType": "YulAssignment",
                        "src": "11641:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "11650:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "11650:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11653:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11653:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11646:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11646:3:84"
                          },
                          "nativeSrc": "11646:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11646:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "11641:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "11641:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11621:3:84",
                    "nodeType": "YulBlock",
                    "src": "11621:3:84",
                    "statements": []
                  },
                  "src": "11617:190:84"
                },
                {
                  "nativeSrc": "11816:11:84",
                  "nodeType": "YulAssignment",
                  "src": "11816:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "11824:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "11824:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11816:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11816:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "11165:668:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11300:9:84",
                "nodeType": "YulTypedName",
                "src": "11300:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11311:6:84",
                "nodeType": "YulTypedName",
                "src": "11311:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11322:4:84",
                "nodeType": "YulTypedName",
                "src": "11322:4:84",
                "type": ""
              }
            ],
            "src": "11165:668:84"
          },
          {
            "body": {
              "nativeSrc": "11910:275:84",
              "nodeType": "YulBlock",
              "src": "11910:275:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11959:16:84",
                    "nodeType": "YulBlock",
                    "src": "11959:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11968:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11968:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11971:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11971:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11961:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11961:6:84"
                          },
                          "nativeSrc": "11961:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11961:12:84"
                        },
                        "nativeSrc": "11961:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11961:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "11938:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "11938:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "11946:4:84",
                                "nodeType": "YulLiteral",
                                "src": "11946:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11934:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11934:3:84"
                            },
                            "nativeSrc": "11934:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11934:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11953:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11953:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "11930:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11930:3:84"
                        },
                        "nativeSrc": "11930:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11930:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11923:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11923:6:84"
                    },
                    "nativeSrc": "11923:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11923:35:84"
                  },
                  "nativeSrc": "11920:55:84",
                  "nodeType": "YulIf",
                  "src": "11920:55:84"
                },
                {
                  "nativeSrc": "11984:30:84",
                  "nodeType": "YulAssignment",
                  "src": "11984:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12007:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12007:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11994:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11994:12:84"
                    },
                    "nativeSrc": "11994:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11994:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "11984:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11984:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12057:16:84",
                    "nodeType": "YulBlock",
                    "src": "12057:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12066:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12066:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12069:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12069:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12059:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12059:6:84"
                          },
                          "nativeSrc": "12059:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12059:12:84"
                        },
                        "nativeSrc": "12059:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12059:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "12029:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12029:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12037:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12037:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12026:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12026:2:84"
                    },
                    "nativeSrc": "12026:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12026:30:84"
                  },
                  "nativeSrc": "12023:50:84",
                  "nodeType": "YulIf",
                  "src": "12023:50:84"
                },
                {
                  "nativeSrc": "12082:29:84",
                  "nodeType": "YulAssignment",
                  "src": "12082:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12098:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12098:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12106:4:84",
                        "nodeType": "YulLiteral",
                        "src": "12106:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12094:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12094:3:84"
                    },
                    "nativeSrc": "12094:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12094:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "12082:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "12082:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12163:16:84",
                    "nodeType": "YulBlock",
                    "src": "12163:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12172:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12172:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12175:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12175:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12165:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12165:6:84"
                          },
                          "nativeSrc": "12165:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12165:12:84"
                        },
                        "nativeSrc": "12165:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12165:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "12134:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12134:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "12142:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12142:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12130:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12130:3:84"
                            },
                            "nativeSrc": "12130:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12130:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12151:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12151:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12126:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12126:3:84"
                        },
                        "nativeSrc": "12126:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12126:30:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "12158:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12158:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12123:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12123:2:84"
                    },
                    "nativeSrc": "12123:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12123:39:84"
                  },
                  "nativeSrc": "12120:59:84",
                  "nodeType": "YulIf",
                  "src": "12120:59:84"
                }
              ]
            },
            "name": "abi_decode_bytes_calldata",
            "nativeSrc": "11838:347:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "11873:6:84",
                "nodeType": "YulTypedName",
                "src": "11873:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "11881:3:84",
                "nodeType": "YulTypedName",
                "src": "11881:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "11889:8:84",
                "nodeType": "YulTypedName",
                "src": "11889:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "11899:6:84",
                "nodeType": "YulTypedName",
                "src": "11899:6:84",
                "type": ""
              }
            ],
            "src": "11838:347:84"
          },
          {
            "body": {
              "nativeSrc": "12313:422:84",
              "nodeType": "YulBlock",
              "src": "12313:422:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12359:16:84",
                    "nodeType": "YulBlock",
                    "src": "12359:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12368:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12368:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12371:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12371:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12361:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12361:6:84"
                          },
                          "nativeSrc": "12361:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12361:12:84"
                        },
                        "nativeSrc": "12361:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12361:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12334:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "12334:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12343:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12343:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12330:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12330:3:84"
                        },
                        "nativeSrc": "12330:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12330:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12355:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12355:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12326:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12326:3:84"
                    },
                    "nativeSrc": "12326:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12326:32:84"
                  },
                  "nativeSrc": "12323:52:84",
                  "nodeType": "YulIf",
                  "src": "12323:52:84"
                },
                {
                  "nativeSrc": "12384:33:84",
                  "nodeType": "YulAssignment",
                  "src": "12384:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12407:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12407:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12394:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12394:12:84"
                    },
                    "nativeSrc": "12394:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12394:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12384:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12384:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12426:42:84",
                  "nodeType": "YulAssignment",
                  "src": "12426:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12453:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12453:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12464:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12464:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12449:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12449:3:84"
                        },
                        "nativeSrc": "12449:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12449:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12436:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12436:12:84"
                    },
                    "nativeSrc": "12436:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12436:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "12426:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12426:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12477:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12477:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12508:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12508:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12519:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12519:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12504:3:84"
                        },
                        "nativeSrc": "12504:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12504:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12491:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12491:12:84"
                    },
                    "nativeSrc": "12491:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12491:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12481:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12481:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12566:16:84",
                    "nodeType": "YulBlock",
                    "src": "12566:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12575:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12575:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12578:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12578:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12568:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12568:6:84"
                          },
                          "nativeSrc": "12568:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12568:12:84"
                        },
                        "nativeSrc": "12568:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12568:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12538:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12538:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12546:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12546:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12535:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12535:2:84"
                    },
                    "nativeSrc": "12535:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12535:30:84"
                  },
                  "nativeSrc": "12532:50:84",
                  "nodeType": "YulIf",
                  "src": "12532:50:84"
                },
                {
                  "nativeSrc": "12591:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12591:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12647:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12647:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "12658:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12658:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12643:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12643:3:84"
                        },
                        "nativeSrc": "12643:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12643:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12667:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "12667:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "12617:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "12617:25:84"
                    },
                    "nativeSrc": "12617:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12617:58:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "12595:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12595:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "12605:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12605:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12684:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12684:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "12694:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12694:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "12684:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12684:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12711:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12711:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "12721:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12721:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "12711:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12711:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "12190:545:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12255:9:84",
                "nodeType": "YulTypedName",
                "src": "12255:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12266:7:84",
                "nodeType": "YulTypedName",
                "src": "12266:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12278:6:84",
                "nodeType": "YulTypedName",
                "src": "12278:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12286:6:84",
                "nodeType": "YulTypedName",
                "src": "12286:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12294:6:84",
                "nodeType": "YulTypedName",
                "src": "12294:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "12302:6:84",
                "nodeType": "YulTypedName",
                "src": "12302:6:84",
                "type": ""
              }
            ],
            "src": "12190:545:84"
          },
          {
            "body": {
              "nativeSrc": "12856:97:84",
              "nodeType": "YulBlock",
              "src": "12856:97:84",
              "statements": [
                {
                  "nativeSrc": "12866:26:84",
                  "nodeType": "YulAssignment",
                  "src": "12866:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12878:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12878:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12889:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12889:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12874:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12874:3:84"
                    },
                    "nativeSrc": "12874:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12874:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "12866:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "12866:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12929:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "12937:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12937:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "12901:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "12901:27:84"
                    },
                    "nativeSrc": "12901:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12901:46:84"
                  },
                  "nativeSrc": "12901:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12901:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed",
            "nativeSrc": "12740:213:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12825:9:84",
                "nodeType": "YulTypedName",
                "src": "12825:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12836:6:84",
                "nodeType": "YulTypedName",
                "src": "12836:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12847:4:84",
                "nodeType": "YulTypedName",
                "src": "12847:4:84",
                "type": ""
              }
            ],
            "src": "12740:213:84"
          },
          {
            "body": {
              "nativeSrc": "13089:102:84",
              "nodeType": "YulBlock",
              "src": "13089:102:84",
              "statements": [
                {
                  "nativeSrc": "13099:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13099:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13111:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13122:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13122:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13107:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13107:3:84"
                    },
                    "nativeSrc": "13107:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13107:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13099:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13099:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13141:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13141:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13156:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13156:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13172:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13172:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13177:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13177:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "13168:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13168:3:84"
                                },
                                "nativeSrc": "13168:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13168:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13181:1:84",
                                "nodeType": "YulLiteral",
                                "src": "13181:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "13164:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13164:3:84"
                            },
                            "nativeSrc": "13164:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13164:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13152:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13152:3:84"
                        },
                        "nativeSrc": "13152:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13152:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13134:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13134:6:84"
                    },
                    "nativeSrc": "13134:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13134:51:84"
                  },
                  "nativeSrc": "13134:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13134:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed",
            "nativeSrc": "12958:233:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13058:9:84",
                "nodeType": "YulTypedName",
                "src": "13058:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13069:6:84",
                "nodeType": "YulTypedName",
                "src": "13069:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13080:4:84",
                "nodeType": "YulTypedName",
                "src": "13080:4:84",
                "type": ""
              }
            ],
            "src": "12958:233:84"
          },
          {
            "body": {
              "nativeSrc": "13295:103:84",
              "nodeType": "YulBlock",
              "src": "13295:103:84",
              "statements": [
                {
                  "nativeSrc": "13305:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13305:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13317:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13317:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13328:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13328:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13313:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13313:3:84"
                    },
                    "nativeSrc": "13313:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13313:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13305:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13305:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13347:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13347:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13362:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13362:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "13374:3:84",
                                "nodeType": "YulLiteral",
                                "src": "13374:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13379:10:84",
                                "nodeType": "YulLiteral",
                                "src": "13379:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "13370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13370:3:84"
                            },
                            "nativeSrc": "13370:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13370:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13358:3:84"
                        },
                        "nativeSrc": "13358:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13358:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13340:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13340:6:84"
                    },
                    "nativeSrc": "13340:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13340:52:84"
                  },
                  "nativeSrc": "13340:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13340:52:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "13196:202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13264:9:84",
                "nodeType": "YulTypedName",
                "src": "13264:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13275:6:84",
                "nodeType": "YulTypedName",
                "src": "13275:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13286:4:84",
                "nodeType": "YulTypedName",
                "src": "13286:4:84",
                "type": ""
              }
            ],
            "src": "13196:202:84"
          },
          {
            "body": {
              "nativeSrc": "13447:73:84",
              "nodeType": "YulBlock",
              "src": "13447:73:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13498:16:84",
                    "nodeType": "YulBlock",
                    "src": "13498:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13507:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13507:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13510:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13510:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13500:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13500:6:84"
                          },
                          "nativeSrc": "13500:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13500:12:84"
                        },
                        "nativeSrc": "13500:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13500:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "13470:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "13470:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "13481:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "13481:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13488:6:84",
                                "nodeType": "YulLiteral",
                                "src": "13488:6:84",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "13477:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13477:3:84"
                            },
                            "nativeSrc": "13477:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13477:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "13467:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "13467:2:84"
                        },
                        "nativeSrc": "13467:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13467:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13460:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13460:6:84"
                    },
                    "nativeSrc": "13460:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13460:37:84"
                  },
                  "nativeSrc": "13457:57:84",
                  "nodeType": "YulIf",
                  "src": "13457:57:84"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "13403:117:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "13436:5:84",
                "nodeType": "YulTypedName",
                "src": "13436:5:84",
                "type": ""
              }
            ],
            "src": "13403:117:84"
          },
          {
            "body": {
              "nativeSrc": "13611:227:84",
              "nodeType": "YulBlock",
              "src": "13611:227:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13657:16:84",
                    "nodeType": "YulBlock",
                    "src": "13657:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13666:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13666:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13669:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13669:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13659:6:84"
                          },
                          "nativeSrc": "13659:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13659:12:84"
                        },
                        "nativeSrc": "13659:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13659:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13632:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13632:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13641:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13641:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13628:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13628:3:84"
                        },
                        "nativeSrc": "13628:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13628:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13653:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13653:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13624:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13624:3:84"
                    },
                    "nativeSrc": "13624:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13624:32:84"
                  },
                  "nativeSrc": "13621:52:84",
                  "nodeType": "YulIf",
                  "src": "13621:52:84"
                },
                {
                  "nativeSrc": "13682:33:84",
                  "nodeType": "YulAssignment",
                  "src": "13682:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13705:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13705:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13692:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13692:12:84"
                    },
                    "nativeSrc": "13692:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13692:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13682:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13682:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "13724:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13724:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13754:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13754:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13765:2:84",
                            "nodeType": "YulLiteral",
                            "src": "13765:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13750:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13750:3:84"
                        },
                        "nativeSrc": "13750:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13750:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13737:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13737:12:84"
                    },
                    "nativeSrc": "13737:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13737:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13728:5:84",
                      "nodeType": "YulTypedName",
                      "src": "13728:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "13802:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "13802:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "13778:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "13778:23:84"
                    },
                    "nativeSrc": "13778:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13778:30:84"
                  },
                  "nativeSrc": "13778:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13778:30:84"
                },
                {
                  "nativeSrc": "13817:15:84",
                  "nodeType": "YulAssignment",
                  "src": "13817:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "13827:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "13827:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "13817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint16",
            "nativeSrc": "13525:313:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13569:9:84",
                "nodeType": "YulTypedName",
                "src": "13569:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13580:7:84",
                "nodeType": "YulTypedName",
                "src": "13580:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13592:6:84",
                "nodeType": "YulTypedName",
                "src": "13592:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13600:6:84",
                "nodeType": "YulTypedName",
                "src": "13600:6:84",
                "type": ""
              }
            ],
            "src": "13525:313:84"
          },
          {
            "body": {
              "nativeSrc": "13962:98:84",
              "nodeType": "YulBlock",
              "src": "13962:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13979:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13979:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13990:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13990:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13972:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13972:6:84"
                    },
                    "nativeSrc": "13972:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13972:21:84"
                  },
                  "nativeSrc": "13972:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13972:21:84"
                },
                {
                  "nativeSrc": "14002:52:84",
                  "nodeType": "YulAssignment",
                  "src": "14002:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14027:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14027:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14039:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14039:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14050:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14050:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14035:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14035:3:84"
                        },
                        "nativeSrc": "14035:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14035:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "14010:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "14010:16:84"
                    },
                    "nativeSrc": "14010:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14010:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14002:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "14002:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "13843:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13931:9:84",
                "nodeType": "YulTypedName",
                "src": "13931:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13942:6:84",
                "nodeType": "YulTypedName",
                "src": "13942:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13953:4:84",
                "nodeType": "YulTypedName",
                "src": "13953:4:84",
                "type": ""
              }
            ],
            "src": "13843:217:84"
          },
          {
            "body": {
              "nativeSrc": "14240:727:84",
              "nodeType": "YulBlock",
              "src": "14240:727:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14287:16:84",
                    "nodeType": "YulBlock",
                    "src": "14287:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14296:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14296:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14299:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14299:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14289:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14289:6:84"
                          },
                          "nativeSrc": "14289:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14289:12:84"
                        },
                        "nativeSrc": "14289:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14289:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14261:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "14261:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14270:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14270:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14257:3:84"
                        },
                        "nativeSrc": "14257:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14257:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14282:3:84",
                        "nodeType": "YulLiteral",
                        "src": "14282:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14253:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14253:3:84"
                    },
                    "nativeSrc": "14253:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14253:33:84"
                  },
                  "nativeSrc": "14250:53:84",
                  "nodeType": "YulIf",
                  "src": "14250:53:84"
                },
                {
                  "nativeSrc": "14312:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14312:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14339:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14339:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14326:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14326:12:84"
                    },
                    "nativeSrc": "14326:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14326:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14316:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14316:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14358:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14358:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14368:18:84",
                    "nodeType": "YulLiteral",
                    "src": "14368:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14362:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14362:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14413:16:84",
                    "nodeType": "YulBlock",
                    "src": "14413:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14422:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14422:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14425:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14425:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14415:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14415:6:84"
                          },
                          "nativeSrc": "14415:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14415:12:84"
                        },
                        "nativeSrc": "14415:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14415:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14401:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14401:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14409:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14409:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14398:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14398:2:84"
                    },
                    "nativeSrc": "14398:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14398:14:84"
                  },
                  "nativeSrc": "14395:34:84",
                  "nodeType": "YulIf",
                  "src": "14395:34:84"
                },
                {
                  "nativeSrc": "14438:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14438:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14526:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14526:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14537:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14537:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14522:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14522:3:84"
                        },
                        "nativeSrc": "14522:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14522:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14546:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14546:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "14464:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "14464:57:84"
                    },
                    "nativeSrc": "14464:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14464:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "14442:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14442:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "14452:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14452:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14563:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14563:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "14573:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14573:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14563:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14590:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14590:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14600:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14600:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14590:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14590:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14617:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14617:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14650:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14650:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14661:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14661:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14646:3:84"
                        },
                        "nativeSrc": "14646:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14646:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14633:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14633:12:84"
                    },
                    "nativeSrc": "14633:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14633:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "14621:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14621:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14694:16:84",
                    "nodeType": "YulBlock",
                    "src": "14694:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14703:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14703:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14706:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14706:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14696:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14696:6:84"
                          },
                          "nativeSrc": "14696:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14696:12:84"
                        },
                        "nativeSrc": "14696:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14696:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "14680:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "14680:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14690:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14690:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14677:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14677:2:84"
                    },
                    "nativeSrc": "14677:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14677:16:84"
                  },
                  "nativeSrc": "14674:36:84",
                  "nodeType": "YulIf",
                  "src": "14674:36:84"
                },
                {
                  "nativeSrc": "14719:86:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14719:86:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14775:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14775:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "14786:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "14786:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14771:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14771:3:84"
                        },
                        "nativeSrc": "14771:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14771:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14797:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14797:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "14745:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "14745:25:84"
                    },
                    "nativeSrc": "14745:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14745:60:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "14723:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14723:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "14733:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14733:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14814:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14814:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "14824:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14824:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "14814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14814:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14841:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14841:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "14851:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14851:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "14841:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14841:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14868:42:84",
                  "nodeType": "YulAssignment",
                  "src": "14868:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14895:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14895:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14906:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14906:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14891:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14891:3:84"
                        },
                        "nativeSrc": "14891:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14891:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14878:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14878:12:84"
                    },
                    "nativeSrc": "14878:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14878:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "14868:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14868:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14919:42:84",
                  "nodeType": "YulAssignment",
                  "src": "14919:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14946:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14946:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14957:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14957:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14942:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14942:3:84"
                        },
                        "nativeSrc": "14942:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14942:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14929:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14929:12:84"
                    },
                    "nativeSrc": "14929:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14929:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "14919:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14919:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256",
            "nativeSrc": "14065:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14166:9:84",
                "nodeType": "YulTypedName",
                "src": "14166:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14177:7:84",
                "nodeType": "YulTypedName",
                "src": "14177:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14189:6:84",
                "nodeType": "YulTypedName",
                "src": "14189:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14197:6:84",
                "nodeType": "YulTypedName",
                "src": "14197:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14205:6:84",
                "nodeType": "YulTypedName",
                "src": "14205:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "14213:6:84",
                "nodeType": "YulTypedName",
                "src": "14213:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "14221:6:84",
                "nodeType": "YulTypedName",
                "src": "14221:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "14229:6:84",
                "nodeType": "YulTypedName",
                "src": "14229:6:84",
                "type": ""
              }
            ],
            "src": "14065:902:84"
          },
          {
            "body": {
              "nativeSrc": "15101:119:84",
              "nodeType": "YulBlock",
              "src": "15101:119:84",
              "statements": [
                {
                  "nativeSrc": "15111:26:84",
                  "nodeType": "YulAssignment",
                  "src": "15111:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15123:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15123:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15134:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15134:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15119:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15119:3:84"
                    },
                    "nativeSrc": "15119:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15119:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15111:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "15111:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15153:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15153:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "15164:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15164:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15146:6:84"
                    },
                    "nativeSrc": "15146:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15146:25:84"
                  },
                  "nativeSrc": "15146:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15146:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15191:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15191:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15202:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15202:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15187:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15187:3:84"
                        },
                        "nativeSrc": "15187:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15187:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "15207:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15207:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15180:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15180:6:84"
                    },
                    "nativeSrc": "15180:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15180:34:84"
                  },
                  "nativeSrc": "15180:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15180:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "14972:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15062:9:84",
                "nodeType": "YulTypedName",
                "src": "15062:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15073:6:84",
                "nodeType": "YulTypedName",
                "src": "15073:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15081:6:84",
                "nodeType": "YulTypedName",
                "src": "15081:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15092:4:84",
                "nodeType": "YulTypedName",
                "src": "15092:4:84",
                "type": ""
              }
            ],
            "src": "14972:248:84"
          },
          {
            "body": {
              "nativeSrc": "15312:161:84",
              "nodeType": "YulBlock",
              "src": "15312:161:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15358:16:84",
                    "nodeType": "YulBlock",
                    "src": "15358:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15367:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15367:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15370:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15370:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15360:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15360:6:84"
                          },
                          "nativeSrc": "15360:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15360:12:84"
                        },
                        "nativeSrc": "15360:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15360:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15333:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15333:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15342:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15342:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15329:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15329:3:84"
                        },
                        "nativeSrc": "15329:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15329:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15354:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15354:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15325:3:84"
                    },
                    "nativeSrc": "15325:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15325:32:84"
                  },
                  "nativeSrc": "15322:52:84",
                  "nodeType": "YulIf",
                  "src": "15322:52:84"
                },
                {
                  "nativeSrc": "15383:33:84",
                  "nodeType": "YulAssignment",
                  "src": "15383:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15406:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15406:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15393:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15393:12:84"
                    },
                    "nativeSrc": "15393:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15393:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15383:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15383:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15425:42:84",
                  "nodeType": "YulAssignment",
                  "src": "15425:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15452:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15452:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15463:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15463:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15448:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15448:3:84"
                        },
                        "nativeSrc": "15448:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15448:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15435:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15435:12:84"
                    },
                    "nativeSrc": "15435:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15435:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15425:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15425:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32",
            "nativeSrc": "15225:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15270:9:84",
                "nodeType": "YulTypedName",
                "src": "15270:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15281:7:84",
                "nodeType": "YulTypedName",
                "src": "15281:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15293:6:84",
                "nodeType": "YulTypedName",
                "src": "15293:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15301:6:84",
                "nodeType": "YulTypedName",
                "src": "15301:6:84",
                "type": ""
              }
            ],
            "src": "15225:248:84"
          },
          {
            "body": {
              "nativeSrc": "15629:460:84",
              "nodeType": "YulBlock",
              "src": "15629:460:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15676:16:84",
                    "nodeType": "YulBlock",
                    "src": "15676:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15685:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15685:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15688:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15688:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15678:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15678:6:84"
                          },
                          "nativeSrc": "15678:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15678:12:84"
                        },
                        "nativeSrc": "15678:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15678:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15650:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15650:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15659:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15659:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15646:3:84"
                        },
                        "nativeSrc": "15646:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15646:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15671:3:84",
                        "nodeType": "YulLiteral",
                        "src": "15671:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15642:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15642:3:84"
                    },
                    "nativeSrc": "15642:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15642:33:84"
                  },
                  "nativeSrc": "15639:53:84",
                  "nodeType": "YulIf",
                  "src": "15639:53:84"
                },
                {
                  "nativeSrc": "15701:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15701:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15728:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15728:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15715:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15715:12:84"
                    },
                    "nativeSrc": "15715:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15715:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15705:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15705:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15781:16:84",
                    "nodeType": "YulBlock",
                    "src": "15781:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15790:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15790:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15793:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15793:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15783:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15783:6:84"
                          },
                          "nativeSrc": "15783:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15783:12:84"
                        },
                        "nativeSrc": "15783:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15783:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15753:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15753:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15761:18:84",
                        "nodeType": "YulLiteral",
                        "src": "15761:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15750:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "15750:2:84"
                    },
                    "nativeSrc": "15750:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15750:30:84"
                  },
                  "nativeSrc": "15747:50:84",
                  "nodeType": "YulIf",
                  "src": "15747:50:84"
                },
                {
                  "nativeSrc": "15806:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15806:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15862:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15862:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15873:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15858:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15858:3:84"
                        },
                        "nativeSrc": "15858:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15858:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15882:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "15882:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "15832:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "15832:25:84"
                    },
                    "nativeSrc": "15832:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15832:58:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15810:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15810:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15820:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15820:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15899:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15899:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "15909:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15909:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15899:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15899:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15926:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15926:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "15936:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15936:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15926:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15926:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15953:74:84",
                  "nodeType": "YulAssignment",
                  "src": "15953:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16003:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16003:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16014:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16014:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15999:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15999:3:84"
                        },
                        "nativeSrc": "15999:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15999:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16019:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16019:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "15963:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "15963:35:84"
                    },
                    "nativeSrc": "15963:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15963:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "15953:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15953:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16036:47:84",
                  "nodeType": "YulAssignment",
                  "src": "16036:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16068:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16068:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16079:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16079:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16064:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16064:3:84"
                        },
                        "nativeSrc": "16064:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16064:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "16046:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "16046:17:84"
                    },
                    "nativeSrc": "16046:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16046:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "16036:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16036:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "15478:611:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15571:9:84",
                "nodeType": "YulTypedName",
                "src": "15571:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15582:7:84",
                "nodeType": "YulTypedName",
                "src": "15582:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15594:6:84",
                "nodeType": "YulTypedName",
                "src": "15594:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15602:6:84",
                "nodeType": "YulTypedName",
                "src": "15602:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15610:6:84",
                "nodeType": "YulTypedName",
                "src": "15610:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "15618:6:84",
                "nodeType": "YulTypedName",
                "src": "15618:6:84",
                "type": ""
              }
            ],
            "src": "15478:611:84"
          },
          {
            "body": {
              "nativeSrc": "16152:91:84",
              "nodeType": "YulBlock",
              "src": "16152:91:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16188:22:84",
                    "nodeType": "YulBlock",
                    "src": "16188:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "16190:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "16190:16:84"
                          },
                          "nativeSrc": "16190:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16190:18:84"
                        },
                        "nativeSrc": "16190:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16190:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "16175:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "16175:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16182:3:84",
                            "nodeType": "YulLiteral",
                            "src": "16182:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "16172:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "16172:2:84"
                        },
                        "nativeSrc": "16172:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16172:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16165:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16165:6:84"
                    },
                    "nativeSrc": "16165:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16165:22:84"
                  },
                  "nativeSrc": "16162:48:84",
                  "nodeType": "YulIf",
                  "src": "16162:48:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "16226:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16226:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "16231:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "16231:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16219:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16219:6:84"
                    },
                    "nativeSrc": "16219:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16219:18:84"
                  },
                  "nativeSrc": "16219:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16219:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResultErrorCodes",
            "nativeSrc": "16094:149:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "16136:5:84",
                "nodeType": "YulTypedName",
                "src": "16136:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "16143:3:84",
                "nodeType": "YulTypedName",
                "src": "16143:3:84",
                "type": ""
              }
            ],
            "src": "16094:149:84"
          },
          {
            "body": {
              "nativeSrc": "16409:274:84",
              "nodeType": "YulBlock",
              "src": "16409:274:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16426:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16426:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16437:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16437:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16419:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16419:6:84"
                    },
                    "nativeSrc": "16419:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16419:21:84"
                  },
                  "nativeSrc": "16419:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16419:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16488:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16488:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "16482:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "16482:5:84"
                        },
                        "nativeSrc": "16482:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16482:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16501:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16501:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16512:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16512:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16497:3:84"
                        },
                        "nativeSrc": "16497:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16497:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "16449:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "16449:32:84"
                    },
                    "nativeSrc": "16449:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16449:67:84"
                  },
                  "nativeSrc": "16449:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16449:67:84"
                },
                {
                  "nativeSrc": "16525:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16525:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16555:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16555:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16563:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16563:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16551:3:84"
                        },
                        "nativeSrc": "16551:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16551:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16545:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16545:5:84"
                    },
                    "nativeSrc": "16545:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16545:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16529:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16529:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16587:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16587:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16598:4:84",
                            "nodeType": "YulLiteral",
                            "src": "16598:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16583:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16583:3:84"
                        },
                        "nativeSrc": "16583:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16583:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16605:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16605:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16576:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16576:6:84"
                    },
                    "nativeSrc": "16576:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16576:34:84"
                  },
                  "nativeSrc": "16576:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16576:34:84"
                },
                {
                  "nativeSrc": "16619:58:84",
                  "nodeType": "YulAssignment",
                  "src": "16619:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "16644:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "16644:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16662:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16662:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16673:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16673:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16658:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16658:3:84"
                        },
                        "nativeSrc": "16658:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16658:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "16627:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "16627:16:84"
                    },
                    "nativeSrc": "16627:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16627:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16619:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "16619:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed",
            "nativeSrc": "16248:435:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16378:9:84",
                "nodeType": "YulTypedName",
                "src": "16378:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16389:6:84",
                "nodeType": "YulTypedName",
                "src": "16389:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16400:4:84",
                "nodeType": "YulTypedName",
                "src": "16400:4:84",
                "type": ""
              }
            ],
            "src": "16248:435:84"
          },
          {
            "body": {
              "nativeSrc": "16837:397:84",
              "nodeType": "YulBlock",
              "src": "16837:397:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16854:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16854:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16865:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16865:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16847:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16847:6:84"
                    },
                    "nativeSrc": "16847:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16847:21:84"
                  },
                  "nativeSrc": "16847:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16847:21:84"
                },
                {
                  "nativeSrc": "16877:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16877:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "16903:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16903:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16897:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16897:5:84"
                    },
                    "nativeSrc": "16897:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16897:13:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16881:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16881:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16941:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16941:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16926:3:84"
                        },
                        "nativeSrc": "16926:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16926:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16946:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16946:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16919:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16919:6:84"
                    },
                    "nativeSrc": "16919:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16919:32:84"
                  },
                  "nativeSrc": "16919:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16919:32:84"
                },
                {
                  "nativeSrc": "16960:73:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16960:73:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "17000:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "17000:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17018:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17018:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17029:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17029:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17014:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17014:3:84"
                        },
                        "nativeSrc": "17014:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17014:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "16974:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "16974:25:84"
                    },
                    "nativeSrc": "16974:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16974:59:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "16964:6:84",
                      "nodeType": "YulTypedName",
                      "src": "16964:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17042:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17042:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17074:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17074:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17082:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17082:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17070:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17070:3:84"
                        },
                        "nativeSrc": "17070:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17070:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17064:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17064:5:84"
                    },
                    "nativeSrc": "17064:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17064:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "17046:14:84",
                      "nodeType": "YulTypedName",
                      "src": "17046:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17106:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17106:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17117:4:84",
                            "nodeType": "YulLiteral",
                            "src": "17117:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17102:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17102:3:84"
                        },
                        "nativeSrc": "17102:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17102:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "tail_1",
                                "nativeSrc": "17132:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "17132:6:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "17140:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "17140:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "17128:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17128:3:84"
                            },
                            "nativeSrc": "17128:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17128:22:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "17156:2:84",
                                "nodeType": "YulLiteral",
                                "src": "17156:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "17152:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17152:3:84"
                            },
                            "nativeSrc": "17152:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17152:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17124:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17124:3:84"
                        },
                        "nativeSrc": "17124:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17124:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17095:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17095:6:84"
                    },
                    "nativeSrc": "17095:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17095:66:84"
                  },
                  "nativeSrc": "17095:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17095:66:84"
                },
                {
                  "nativeSrc": "17170:58:84",
                  "nodeType": "YulAssignment",
                  "src": "17170:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "17205:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "17205:14:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "17221:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17221:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "17178:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "17178:26:84"
                    },
                    "nativeSrc": "17178:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17178:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17170:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "17170:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed",
            "nativeSrc": "16688:546:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16806:9:84",
                "nodeType": "YulTypedName",
                "src": "16806:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16817:6:84",
                "nodeType": "YulTypedName",
                "src": "16817:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16828:4:84",
                "nodeType": "YulTypedName",
                "src": "16828:4:84",
                "type": ""
              }
            ],
            "src": "16688:546:84"
          },
          {
            "body": {
              "nativeSrc": "17287:115:84",
              "nodeType": "YulBlock",
              "src": "17287:115:84",
              "statements": [
                {
                  "nativeSrc": "17297:29:84",
                  "nodeType": "YulAssignment",
                  "src": "17297:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17319:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17319:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17306:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17306:12:84"
                    },
                    "nativeSrc": "17306:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17306:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "17297:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17297:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17380:16:84",
                    "nodeType": "YulBlock",
                    "src": "17380:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17389:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17389:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17392:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17392:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17382:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17382:6:84"
                          },
                          "nativeSrc": "17382:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17382:12:84"
                        },
                        "nativeSrc": "17382:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17382:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17348:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "17348:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17359:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "17359:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17366:10:84",
                                "nodeType": "YulLiteral",
                                "src": "17366:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17355:3:84"
                            },
                            "nativeSrc": "17355:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17355:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17345:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "17345:2:84"
                        },
                        "nativeSrc": "17345:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17345:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17338:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17338:6:84"
                    },
                    "nativeSrc": "17338:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17338:41:84"
                  },
                  "nativeSrc": "17335:61:84",
                  "nodeType": "YulIf",
                  "src": "17335:61:84"
                }
              ]
            },
            "name": "abi_decode_uint32",
            "nativeSrc": "17239:163:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "17266:6:84",
                "nodeType": "YulTypedName",
                "src": "17266:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "17277:5:84",
                "nodeType": "YulTypedName",
                "src": "17277:5:84",
                "type": ""
              }
            ],
            "src": "17239:163:84"
          },
          {
            "body": {
              "nativeSrc": "17546:479:84",
              "nodeType": "YulBlock",
              "src": "17546:479:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17593:16:84",
                    "nodeType": "YulBlock",
                    "src": "17593:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17602:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17602:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17605:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17605:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17595:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17595:6:84"
                          },
                          "nativeSrc": "17595:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17595:12:84"
                        },
                        "nativeSrc": "17595:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17595:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17567:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "17567:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17576:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17576:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17563:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17563:3:84"
                        },
                        "nativeSrc": "17563:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17563:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17588:3:84",
                        "nodeType": "YulLiteral",
                        "src": "17588:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17559:3:84"
                    },
                    "nativeSrc": "17559:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17559:33:84"
                  },
                  "nativeSrc": "17556:53:84",
                  "nodeType": "YulIf",
                  "src": "17556:53:84"
                },
                {
                  "nativeSrc": "17618:33:84",
                  "nodeType": "YulAssignment",
                  "src": "17618:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17641:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17641:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17628:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17628:12:84"
                    },
                    "nativeSrc": "17628:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17628:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17618:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17618:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17660:47:84",
                  "nodeType": "YulAssignment",
                  "src": "17660:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17692:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17692:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17703:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17703:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17688:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17688:3:84"
                        },
                        "nativeSrc": "17688:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17688:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "17670:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "17670:17:84"
                    },
                    "nativeSrc": "17670:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17670:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17660:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17660:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17716:42:84",
                  "nodeType": "YulAssignment",
                  "src": "17716:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17743:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17743:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17754:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17754:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17739:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17739:3:84"
                        },
                        "nativeSrc": "17739:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17739:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17726:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17726:12:84"
                    },
                    "nativeSrc": "17726:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17726:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "17716:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17716:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17767:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17767:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17798:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17798:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17809:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17809:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17794:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17794:3:84"
                        },
                        "nativeSrc": "17794:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17794:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17781:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17781:12:84"
                    },
                    "nativeSrc": "17781:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17781:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17771:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17771:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17856:16:84",
                    "nodeType": "YulBlock",
                    "src": "17856:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17865:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17865:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17868:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17868:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17858:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17858:6:84"
                          },
                          "nativeSrc": "17858:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17858:12:84"
                        },
                        "nativeSrc": "17858:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17858:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17828:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17828:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17836:18:84",
                        "nodeType": "YulLiteral",
                        "src": "17836:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17825:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "17825:2:84"
                    },
                    "nativeSrc": "17825:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17825:30:84"
                  },
                  "nativeSrc": "17822:50:84",
                  "nodeType": "YulIf",
                  "src": "17822:50:84"
                },
                {
                  "nativeSrc": "17881:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17881:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17937:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17937:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17948:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17948:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17933:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17933:3:84"
                        },
                        "nativeSrc": "17933:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17933:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17957:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17957:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "17907:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "17907:25:84"
                    },
                    "nativeSrc": "17907:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17907:58:84"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "17885:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17885:8:84",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "17895:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17895:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17974:18:84",
                  "nodeType": "YulAssignment",
                  "src": "17974:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "17984:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "17984:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "17974:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17974:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18001:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18001:18:84",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "18011:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18011:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "18001:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18001:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "17407:618:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17480:9:84",
                "nodeType": "YulTypedName",
                "src": "17480:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17491:7:84",
                "nodeType": "YulTypedName",
                "src": "17491:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17503:6:84",
                "nodeType": "YulTypedName",
                "src": "17503:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17511:6:84",
                "nodeType": "YulTypedName",
                "src": "17511:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17519:6:84",
                "nodeType": "YulTypedName",
                "src": "17519:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17527:6:84",
                "nodeType": "YulTypedName",
                "src": "17527:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "17535:6:84",
                "nodeType": "YulTypedName",
                "src": "17535:6:84",
                "type": ""
              }
            ],
            "src": "17407:618:84"
          },
          {
            "body": {
              "nativeSrc": "18159:102:84",
              "nodeType": "YulBlock",
              "src": "18159:102:84",
              "statements": [
                {
                  "nativeSrc": "18169:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18169:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18181:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18181:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18192:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18192:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18177:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18177:3:84"
                    },
                    "nativeSrc": "18177:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18177:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18169:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18169:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18211:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18211:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18226:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18242:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18242:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18247:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18247:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18238:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18238:3:84"
                                },
                                "nativeSrc": "18238:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18238:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18251:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18251:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18234:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18234:3:84"
                            },
                            "nativeSrc": "18234:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18234:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18222:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18222:3:84"
                        },
                        "nativeSrc": "18222:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18222:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18204:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18204:6:84"
                    },
                    "nativeSrc": "18204:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18204:51:84"
                  },
                  "nativeSrc": "18204:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18204:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__to_t_address__fromStack_reversed",
            "nativeSrc": "18030:231:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18128:9:84",
                "nodeType": "YulTypedName",
                "src": "18128:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18139:6:84",
                "nodeType": "YulTypedName",
                "src": "18139:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18150:4:84",
                "nodeType": "YulTypedName",
                "src": "18150:4:84",
                "type": ""
              }
            ],
            "src": "18030:231:84"
          },
          {
            "body": {
              "nativeSrc": "18381:102:84",
              "nodeType": "YulBlock",
              "src": "18381:102:84",
              "statements": [
                {
                  "nativeSrc": "18391:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18391:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18403:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18403:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18414:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18414:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18399:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18399:3:84"
                    },
                    "nativeSrc": "18399:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18399:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18391:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18391:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18433:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18433:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18448:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18448:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18464:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18464:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18469:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18469:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18460:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18460:3:84"
                                },
                                "nativeSrc": "18460:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18460:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18473:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18473:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18456:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18456:3:84"
                            },
                            "nativeSrc": "18456:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18456:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18444:3:84"
                        },
                        "nativeSrc": "18444:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18444:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18426:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18426:6:84"
                    },
                    "nativeSrc": "18426:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18426:51:84"
                  },
                  "nativeSrc": "18426:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18426:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IERC20_$479__to_t_address__fromStack_reversed",
            "nativeSrc": "18266:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18350:9:84",
                "nodeType": "YulTypedName",
                "src": "18350:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18361:6:84",
                "nodeType": "YulTypedName",
                "src": "18361:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18372:4:84",
                "nodeType": "YulTypedName",
                "src": "18372:4:84",
                "type": ""
              }
            ],
            "src": "18266:217:84"
          },
          {
            "body": {
              "nativeSrc": "18620:250:84",
              "nodeType": "YulBlock",
              "src": "18620:250:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18667:16:84",
                    "nodeType": "YulBlock",
                    "src": "18667:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18676:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18676:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18679:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18679:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18669:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18669:6:84"
                          },
                          "nativeSrc": "18669:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18669:12:84"
                        },
                        "nativeSrc": "18669:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18669:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18641:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "18641:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18650:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18650:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18637:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18637:3:84"
                        },
                        "nativeSrc": "18637:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18637:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18662:3:84",
                        "nodeType": "YulLiteral",
                        "src": "18662:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18633:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18633:3:84"
                    },
                    "nativeSrc": "18633:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18633:33:84"
                  },
                  "nativeSrc": "18630:53:84",
                  "nodeType": "YulIf",
                  "src": "18630:53:84"
                },
                {
                  "nativeSrc": "18692:33:84",
                  "nodeType": "YulAssignment",
                  "src": "18692:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18715:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18715:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18702:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18702:12:84"
                    },
                    "nativeSrc": "18702:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18702:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18692:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18692:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18734:74:84",
                  "nodeType": "YulAssignment",
                  "src": "18734:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18784:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18784:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18795:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18795:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18780:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18780:3:84"
                        },
                        "nativeSrc": "18780:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18780:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18800:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18800:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "18744:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "18744:35:84"
                    },
                    "nativeSrc": "18744:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18744:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18734:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18734:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18817:47:84",
                  "nodeType": "YulAssignment",
                  "src": "18817:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18849:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18849:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18860:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18860:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18845:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18845:3:84"
                        },
                        "nativeSrc": "18845:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18845:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "18827:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "18827:17:84"
                    },
                    "nativeSrc": "18827:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18827:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "18488:382:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18570:9:84",
                "nodeType": "YulTypedName",
                "src": "18570:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18581:7:84",
                "nodeType": "YulTypedName",
                "src": "18581:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18593:6:84",
                "nodeType": "YulTypedName",
                "src": "18593:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18601:6:84",
                "nodeType": "YulTypedName",
                "src": "18601:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18609:6:84",
                "nodeType": "YulTypedName",
                "src": "18609:6:84",
                "type": ""
              }
            ],
            "src": "18488:382:84"
          },
          {
            "body": {
              "nativeSrc": "19163:353:84",
              "nodeType": "YulBlock",
              "src": "19163:353:84",
              "statements": [
                {
                  "nativeSrc": "19173:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19173:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "19193:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19193:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19187:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19187:5:84"
                    },
                    "nativeSrc": "19187:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19187:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "19177:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19177:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19248:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19248:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19256:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19256:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19244:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19244:3:84"
                        },
                        "nativeSrc": "19244:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19244:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "19263:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19263:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19268:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19268:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19209:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19209:34:84"
                    },
                    "nativeSrc": "19209:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19209:66:84"
                  },
                  "nativeSrc": "19209:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19209:66:84"
                },
                {
                  "nativeSrc": "19284:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19284:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "19301:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19301:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19306:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19306:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19297:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19297:3:84"
                    },
                    "nativeSrc": "19297:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19297:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "19288:5:84",
                      "nodeType": "YulTypedName",
                      "src": "19288:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "19329:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19329:5:84"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "19336:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19336:4:84",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19322:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19322:6:84"
                    },
                    "nativeSrc": "19322:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19322:19:84"
                  },
                  "nativeSrc": "19322:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19322:19:84"
                },
                {
                  "nativeSrc": "19350:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19350:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "19372:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19372:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19366:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19366:5:84"
                    },
                    "nativeSrc": "19366:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19366:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "19354:8:84",
                      "nodeType": "YulTypedName",
                      "src": "19354:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "19427:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19427:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19435:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19435:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19423:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19423:3:84"
                        },
                        "nativeSrc": "19423:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19423:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19446:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19446:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19453:1:84",
                            "nodeType": "YulLiteral",
                            "src": "19453:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19442:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19442:3:84"
                        },
                        "nativeSrc": "19442:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19442:13:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "19457:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "19457:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19388:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19388:34:84"
                    },
                    "nativeSrc": "19388:78:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19388:78:84"
                  },
                  "nativeSrc": "19388:78:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19388:78:84"
                },
                {
                  "nativeSrc": "19475:35:84",
                  "nodeType": "YulAssignment",
                  "src": "19475:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19490:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19490:5:84"
                          },
                          {
                            "name": "length_1",
                            "nativeSrc": "19497:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "19497:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19486:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19486:3:84"
                        },
                        "nativeSrc": "19486:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19486:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19508:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19508:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19482:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19482:3:84"
                    },
                    "nativeSrc": "19482:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19482:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "19475:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19475:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "18875:641:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "19131:3:84",
                "nodeType": "YulTypedName",
                "src": "19131:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19136:6:84",
                "nodeType": "YulTypedName",
                "src": "19136:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19144:6:84",
                "nodeType": "YulTypedName",
                "src": "19144:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "19155:3:84",
                "nodeType": "YulTypedName",
                "src": "19155:3:84",
                "type": ""
              }
            ],
            "src": "18875:641:84"
          },
          {
            "body": {
              "nativeSrc": "19553:95:84",
              "nodeType": "YulBlock",
              "src": "19553:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19570:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19570:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19577:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19577:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19582:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19582:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19573:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19573:3:84"
                        },
                        "nativeSrc": "19573:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19573:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19563:6:84"
                    },
                    "nativeSrc": "19563:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19563:31:84"
                  },
                  "nativeSrc": "19563:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19563:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19610:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19610:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19613:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19613:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19603:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19603:6:84"
                    },
                    "nativeSrc": "19603:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19603:15:84"
                  },
                  "nativeSrc": "19603:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19603:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19634:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19634:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19637:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19637:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19627:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19627:6:84"
                    },
                    "nativeSrc": "19627:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19627:15:84"
                  },
                  "nativeSrc": "19627:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19627:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "19521:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19521:127:84"
          },
          {
            "body": {
              "nativeSrc": "19685:95:84",
              "nodeType": "YulBlock",
              "src": "19685:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19702:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19702:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19709:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19709:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19714:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19714:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19705:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19705:3:84"
                        },
                        "nativeSrc": "19705:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19705:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19695:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19695:6:84"
                    },
                    "nativeSrc": "19695:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19695:31:84"
                  },
                  "nativeSrc": "19695:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19695:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19742:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19742:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19745:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19745:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19735:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19735:6:84"
                    },
                    "nativeSrc": "19735:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19735:15:84"
                  },
                  "nativeSrc": "19735:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19735:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19766:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19766:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19769:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19769:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19759:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19759:6:84"
                    },
                    "nativeSrc": "19759:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19759:15:84"
                  },
                  "nativeSrc": "19759:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19759:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "19653:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19653:127:84"
          },
          {
            "body": {
              "nativeSrc": "19829:121:84",
              "nodeType": "YulBlock",
              "src": "19829:121:84",
              "statements": [
                {
                  "nativeSrc": "19839:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19839:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "19854:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "19854:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19857:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19857:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "19850:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19850:3:84"
                    },
                    "nativeSrc": "19850:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19850:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "19843:3:84",
                      "nodeType": "YulTypedName",
                      "src": "19843:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19886:22:84",
                    "nodeType": "YulBlock",
                    "src": "19886:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "19888:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "19888:16:84"
                          },
                          "nativeSrc": "19888:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19888:18:84"
                        },
                        "nativeSrc": "19888:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19888:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "19881:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19881:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19874:6:84"
                    },
                    "nativeSrc": "19874:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19874:11:84"
                  },
                  "nativeSrc": "19871:37:84",
                  "nodeType": "YulIf",
                  "src": "19871:37:84"
                },
                {
                  "nativeSrc": "19917:27:84",
                  "nodeType": "YulAssignment",
                  "src": "19917:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "19930:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "19930:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19933:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19933:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19926:3:84"
                        },
                        "nativeSrc": "19926:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19926:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "19940:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19940:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "19922:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19922:3:84"
                    },
                    "nativeSrc": "19922:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19922:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "19917:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "19917:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "19785:165:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19814:1:84",
                "nodeType": "YulTypedName",
                "src": "19814:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19817:1:84",
                "nodeType": "YulTypedName",
                "src": "19817:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "19823:1:84",
                "nodeType": "YulTypedName",
                "src": "19823:1:84",
                "type": ""
              }
            ],
            "src": "19785:165:84"
          },
          {
            "body": {
              "nativeSrc": "20001:102:84",
              "nodeType": "YulBlock",
              "src": "20001:102:84",
              "statements": [
                {
                  "nativeSrc": "20011:38:84",
                  "nodeType": "YulAssignment",
                  "src": "20011:38:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20026:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20026:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20029:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20029:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20022:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20022:3:84"
                        },
                        "nativeSrc": "20022:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20022:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "20040:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20040:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20043:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20043:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20036:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20036:3:84"
                        },
                        "nativeSrc": "20036:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20036:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20018:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20018:3:84"
                    },
                    "nativeSrc": "20018:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20018:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20011:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20075:22:84",
                    "nodeType": "YulBlock",
                    "src": "20075:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20077:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20077:16:84"
                          },
                          "nativeSrc": "20077:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20077:18:84"
                        },
                        "nativeSrc": "20077:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20077:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "20064:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20064:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20069:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20069:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20061:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20061:2:84"
                    },
                    "nativeSrc": "20061:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20061:13:84"
                  },
                  "nativeSrc": "20058:39:84",
                  "nodeType": "YulIf",
                  "src": "20058:39:84"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "19955:148:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19984:1:84",
                "nodeType": "YulTypedName",
                "src": "19984:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19987:1:84",
                "nodeType": "YulTypedName",
                "src": "19987:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "19993:3:84",
                "nodeType": "YulTypedName",
                "src": "19993:3:84",
                "type": ""
              }
            ],
            "src": "19955:148:84"
          },
          {
            "body": {
              "nativeSrc": "20144:121:84",
              "nodeType": "YulBlock",
              "src": "20144:121:84",
              "statements": [
                {
                  "nativeSrc": "20154:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20154:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "20169:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20169:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20172:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20172:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "20165:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20165:3:84"
                    },
                    "nativeSrc": "20165:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20165:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "20158:3:84",
                      "nodeType": "YulTypedName",
                      "src": "20158:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20201:22:84",
                    "nodeType": "YulBlock",
                    "src": "20201:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "20203:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20203:16:84"
                          },
                          "nativeSrc": "20203:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20203:18:84"
                        },
                        "nativeSrc": "20203:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20203:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "20196:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20196:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20189:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20189:6:84"
                    },
                    "nativeSrc": "20189:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20189:11:84"
                  },
                  "nativeSrc": "20186:37:84",
                  "nodeType": "YulIf",
                  "src": "20186:37:84"
                },
                {
                  "nativeSrc": "20232:27:84",
                  "nodeType": "YulAssignment",
                  "src": "20232:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20245:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20245:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20248:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20248:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20241:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20241:3:84"
                        },
                        "nativeSrc": "20241:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20241:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "20255:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20255:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "20237:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20237:3:84"
                    },
                    "nativeSrc": "20237:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20237:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "20232:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "20232:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "20108:157:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20129:1:84",
                "nodeType": "YulTypedName",
                "src": "20129:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20132:1:84",
                "nodeType": "YulTypedName",
                "src": "20132:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "20138:1:84",
                "nodeType": "YulTypedName",
                "src": "20138:1:84",
                "type": ""
              }
            ],
            "src": "20108:157:84"
          },
          {
            "body": {
              "nativeSrc": "20302:95:84",
              "nodeType": "YulBlock",
              "src": "20302:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20319:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20319:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "20326:3:84",
                            "nodeType": "YulLiteral",
                            "src": "20326:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20331:10:84",
                            "nodeType": "YulLiteral",
                            "src": "20331:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "20322:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20322:3:84"
                        },
                        "nativeSrc": "20322:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20322:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20312:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20312:6:84"
                    },
                    "nativeSrc": "20312:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20312:31:84"
                  },
                  "nativeSrc": "20312:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20312:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20359:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20359:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20362:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20362:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20352:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20352:6:84"
                    },
                    "nativeSrc": "20352:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20352:15:84"
                  },
                  "nativeSrc": "20352:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20352:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20383:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20383:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20386:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20386:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "20376:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20376:6:84"
                    },
                    "nativeSrc": "20376:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20376:15:84"
                  },
                  "nativeSrc": "20376:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20376:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "20270:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "20270:127:84"
          },
          {
            "body": {
              "nativeSrc": "20509:223:84",
              "nodeType": "YulBlock",
              "src": "20509:223:84",
              "statements": [
                {
                  "nativeSrc": "20519:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20519:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "20558:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "20558:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20545:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "20545:12:84"
                    },
                    "nativeSrc": "20545:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20545:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "20523:18:84",
                      "nodeType": "YulTypedName",
                      "src": "20523:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20660:16:84",
                    "nodeType": "YulBlock",
                    "src": "20660:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20669:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20669:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20672:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20672:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20662:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20662:6:84"
                          },
                          "nativeSrc": "20662:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20662:12:84"
                        },
                        "nativeSrc": "20662:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20662:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "20593:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "20593:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "20621:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "20621:12:84"
                                    },
                                    "nativeSrc": "20621:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20621:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "20637:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20637:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "20617:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20617:3:84"
                                },
                                "nativeSrc": "20617:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20617:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "20652:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "20652:3:84",
                                    "type": "",
                                    "value": "126"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "20648:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20648:3:84"
                                },
                                "nativeSrc": "20648:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20648:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20613:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20613:3:84"
                            },
                            "nativeSrc": "20613:44:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20613:44:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "20589:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20589:3:84"
                        },
                        "nativeSrc": "20589:69:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20589:69:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20582:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20582:6:84"
                    },
                    "nativeSrc": "20582:77:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20582:77:84"
                  },
                  "nativeSrc": "20579:97:84",
                  "nodeType": "YulIf",
                  "src": "20579:97:84"
                },
                {
                  "nativeSrc": "20685:41:84",
                  "nodeType": "YulAssignment",
                  "src": "20685:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "20697:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "20697:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "20707:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "20707:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20693:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20693:3:84"
                    },
                    "nativeSrc": "20693:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20693:33:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "20685:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "20685:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr",
            "nativeSrc": "20402:330:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "20474:8:84",
                "nodeType": "YulTypedName",
                "src": "20474:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "20484:11:84",
                "nodeType": "YulTypedName",
                "src": "20484:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "20500:4:84",
                "nodeType": "YulTypedName",
                "src": "20500:4:84",
                "type": ""
              }
            ],
            "src": "20402:330:84"
          },
          {
            "body": {
              "nativeSrc": "20861:97:84",
              "nodeType": "YulBlock",
              "src": "20861:97:84",
              "statements": [
                {
                  "nativeSrc": "20871:26:84",
                  "nodeType": "YulAssignment",
                  "src": "20871:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20883:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "20883:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20894:2:84",
                        "nodeType": "YulLiteral",
                        "src": "20894:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20879:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20879:3:84"
                    },
                    "nativeSrc": "20879:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20879:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "20871:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "20871:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "20934:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "20934:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "20942:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "20942:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "20906:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "20906:27:84"
                    },
                    "nativeSrc": "20906:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20906:46:84"
                  },
                  "nativeSrc": "20906:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20906:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "20737:221:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20830:9:84",
                "nodeType": "YulTypedName",
                "src": "20830:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "20841:6:84",
                "nodeType": "YulTypedName",
                "src": "20841:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "20852:4:84",
                "nodeType": "YulTypedName",
                "src": "20852:4:84",
                "type": ""
              }
            ],
            "src": "20737:221:84"
          },
          {
            "body": {
              "nativeSrc": "21027:425:84",
              "nodeType": "YulBlock",
              "src": "21027:425:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21076:16:84",
                    "nodeType": "YulBlock",
                    "src": "21076:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21085:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21085:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21088:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21088:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21078:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21078:6:84"
                          },
                          "nativeSrc": "21078:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21078:12:84"
                        },
                        "nativeSrc": "21078:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21078:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21055:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21055:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21063:4:84",
                                "nodeType": "YulLiteral",
                                "src": "21063:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21051:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21051:3:84"
                            },
                            "nativeSrc": "21051:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21051:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "21070:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "21070:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "21047:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21047:3:84"
                        },
                        "nativeSrc": "21047:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21047:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21040:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21040:6:84"
                    },
                    "nativeSrc": "21040:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21040:35:84"
                  },
                  "nativeSrc": "21037:55:84",
                  "nodeType": "YulIf",
                  "src": "21037:55:84"
                },
                {
                  "nativeSrc": "21101:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21101:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21117:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21117:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21111:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21111:5:84"
                    },
                    "nativeSrc": "21111:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21111:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21105:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21105:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21133:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21133:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "21171:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21171:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "21143:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21143:27:84"
                    },
                    "nativeSrc": "21143:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21143:31:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "21137:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21137:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21183:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21183:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21203:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21203:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21197:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21197:5:84"
                    },
                    "nativeSrc": "21197:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21197:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "21187:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21187:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21235:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21235:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "21243:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21243:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "21215:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "21215:19:84"
                    },
                    "nativeSrc": "21215:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21215:31:84"
                  },
                  "nativeSrc": "21215:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21215:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21262:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21262:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21270:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21270:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21255:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21255:6:84"
                    },
                    "nativeSrc": "21255:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21255:18:84"
                  },
                  "nativeSrc": "21255:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21255:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "21321:16:84",
                    "nodeType": "YulBlock",
                    "src": "21321:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21330:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21330:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21333:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21333:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21323:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21323:6:84"
                          },
                          "nativeSrc": "21323:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21323:12:84"
                        },
                        "nativeSrc": "21323:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21323:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21296:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21296:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "21304:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "21304:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21292:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21292:3:84"
                            },
                            "nativeSrc": "21292:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21292:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21309:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21309:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21288:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21288:3:84"
                        },
                        "nativeSrc": "21288:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21288:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "21316:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "21316:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21285:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21285:2:84"
                    },
                    "nativeSrc": "21285:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21285:35:84"
                  },
                  "nativeSrc": "21282:55:84",
                  "nodeType": "YulIf",
                  "src": "21282:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "21385:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21385:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21393:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21393:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21381:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21381:3:84"
                        },
                        "nativeSrc": "21381:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21381:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "21404:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21404:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21412:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21412:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21400:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21400:3:84"
                        },
                        "nativeSrc": "21400:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21400:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21419:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21419:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "21346:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "21346:34:84"
                    },
                    "nativeSrc": "21346:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21346:76:84"
                  },
                  "nativeSrc": "21346:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21346:76:84"
                },
                {
                  "nativeSrc": "21431:15:84",
                  "nodeType": "YulAssignment",
                  "src": "21431:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "21440:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "21440:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "21431:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21431:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "20963:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "21001:6:84",
                "nodeType": "YulTypedName",
                "src": "21001:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "21009:3:84",
                "nodeType": "YulTypedName",
                "src": "21009:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "21017:5:84",
                "nodeType": "YulTypedName",
                "src": "21017:5:84",
                "type": ""
              }
            ],
            "src": "20963:489:84"
          },
          {
            "body": {
              "nativeSrc": "21548:246:84",
              "nodeType": "YulBlock",
              "src": "21548:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21594:16:84",
                    "nodeType": "YulBlock",
                    "src": "21594:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21603:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21603:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21606:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21606:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21596:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21596:6:84"
                          },
                          "nativeSrc": "21596:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21596:12:84"
                        },
                        "nativeSrc": "21596:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21596:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21569:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "21569:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21578:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21578:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21565:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21565:3:84"
                        },
                        "nativeSrc": "21565:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21565:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21590:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21590:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21561:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21561:3:84"
                    },
                    "nativeSrc": "21561:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21561:32:84"
                  },
                  "nativeSrc": "21558:52:84",
                  "nodeType": "YulIf",
                  "src": "21558:52:84"
                },
                {
                  "nativeSrc": "21619:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21619:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21639:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21639:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21633:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21633:5:84"
                    },
                    "nativeSrc": "21633:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21633:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "21623:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21623:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21692:16:84",
                    "nodeType": "YulBlock",
                    "src": "21692:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21701:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21701:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21704:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21704:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21694:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21694:6:84"
                          },
                          "nativeSrc": "21694:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21694:12:84"
                        },
                        "nativeSrc": "21694:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21694:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21664:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21664:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21672:18:84",
                        "nodeType": "YulLiteral",
                        "src": "21672:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21661:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21661:2:84"
                    },
                    "nativeSrc": "21661:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21661:30:84"
                  },
                  "nativeSrc": "21658:50:84",
                  "nodeType": "YulIf",
                  "src": "21658:50:84"
                },
                {
                  "nativeSrc": "21717:71:84",
                  "nodeType": "YulAssignment",
                  "src": "21717:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21760:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21760:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "21771:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21771:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21756:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21756:3:84"
                        },
                        "nativeSrc": "21756:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21756:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "21780:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "21780:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "21727:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "21727:28:84"
                    },
                    "nativeSrc": "21727:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21727:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21717:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21717:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "21457:337:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21514:9:84",
                "nodeType": "YulTypedName",
                "src": "21514:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21525:7:84",
                "nodeType": "YulTypedName",
                "src": "21525:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "21537:6:84",
                "nodeType": "YulTypedName",
                "src": "21537:6:84",
                "type": ""
              }
            ],
            "src": "21457:337:84"
          },
          {
            "body": {
              "nativeSrc": "21948:141:84",
              "nodeType": "YulBlock",
              "src": "21948:141:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21965:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21965:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "21976:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21976:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21958:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21958:6:84"
                    },
                    "nativeSrc": "21958:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21958:25:84"
                  },
                  "nativeSrc": "21958:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21958:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22003:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22003:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22014:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22014:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21999:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21999:3:84"
                        },
                        "nativeSrc": "21999:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21999:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22019:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22019:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21992:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21992:6:84"
                    },
                    "nativeSrc": "21992:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21992:30:84"
                  },
                  "nativeSrc": "21992:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21992:30:84"
                },
                {
                  "nativeSrc": "22031:52:84",
                  "nodeType": "YulAssignment",
                  "src": "22031:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "22056:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22056:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22068:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22068:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22079:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22079:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22064:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22064:3:84"
                        },
                        "nativeSrc": "22064:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22064:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "22039:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "22039:16:84"
                    },
                    "nativeSrc": "22039:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22039:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22031:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22031:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "21799:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21909:9:84",
                "nodeType": "YulTypedName",
                "src": "21909:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "21920:6:84",
                "nodeType": "YulTypedName",
                "src": "21920:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21928:6:84",
                "nodeType": "YulTypedName",
                "src": "21928:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21939:4:84",
                "nodeType": "YulTypedName",
                "src": "21939:4:84",
                "type": ""
              }
            ],
            "src": "21799:290:84"
          },
          {
            "body": {
              "nativeSrc": "22163:115:84",
              "nodeType": "YulBlock",
              "src": "22163:115:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22209:16:84",
                    "nodeType": "YulBlock",
                    "src": "22209:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22218:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22218:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22221:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22221:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22211:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22211:6:84"
                          },
                          "nativeSrc": "22211:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22211:12:84"
                        },
                        "nativeSrc": "22211:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22211:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22184:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22184:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22193:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22193:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22180:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22180:3:84"
                        },
                        "nativeSrc": "22180:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22180:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22205:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22205:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22176:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22176:3:84"
                    },
                    "nativeSrc": "22176:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22176:32:84"
                  },
                  "nativeSrc": "22173:52:84",
                  "nodeType": "YulIf",
                  "src": "22173:52:84"
                },
                {
                  "nativeSrc": "22234:38:84",
                  "nodeType": "YulAssignment",
                  "src": "22234:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22262:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22262:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "22244:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "22244:17:84"
                    },
                    "nativeSrc": "22244:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22244:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22234:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22234:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint32",
            "nativeSrc": "22094:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22129:9:84",
                "nodeType": "YulTypedName",
                "src": "22129:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22140:7:84",
                "nodeType": "YulTypedName",
                "src": "22140:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22152:6:84",
                "nodeType": "YulTypedName",
                "src": "22152:6:84",
                "type": ""
              }
            ],
            "src": "22094:184:84"
          },
          {
            "body": {
              "nativeSrc": "22377:427:84",
              "nodeType": "YulBlock",
              "src": "22377:427:84",
              "statements": [
                {
                  "nativeSrc": "22387:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22387:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "22426:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "22426:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22413:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22413:12:84"
                    },
                    "nativeSrc": "22413:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22413:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "22391:18:84",
                      "nodeType": "YulTypedName",
                      "src": "22391:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22527:16:84",
                    "nodeType": "YulBlock",
                    "src": "22527:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22536:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22536:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22539:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22539:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22529:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22529:6:84"
                          },
                          "nativeSrc": "22529:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22529:12:84"
                        },
                        "nativeSrc": "22529:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22529:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "22461:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "22461:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "22489:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "22489:12:84"
                                    },
                                    "nativeSrc": "22489:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22489:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "22505:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "22505:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "22485:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22485:3:84"
                                },
                                "nativeSrc": "22485:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22485:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "22520:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "22520:2:84",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "22516:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22516:3:84"
                                },
                                "nativeSrc": "22516:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22516:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "22481:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "22481:3:84"
                            },
                            "nativeSrc": "22481:43:84",
                            "nodeType": "YulFunctionCall",
                            "src": "22481:43:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "22457:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22457:3:84"
                        },
                        "nativeSrc": "22457:68:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22457:68:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22450:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22450:6:84"
                    },
                    "nativeSrc": "22450:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22450:76:84"
                  },
                  "nativeSrc": "22447:96:84",
                  "nodeType": "YulIf",
                  "src": "22447:96:84"
                },
                {
                  "nativeSrc": "22552:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22552:47:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "22570:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "22570:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "22580:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "22580:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22566:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22566:3:84"
                    },
                    "nativeSrc": "22566:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22566:33:84"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "22556:6:84",
                      "nodeType": "YulTypedName",
                      "src": "22556:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22608:30:84",
                  "nodeType": "YulAssignment",
                  "src": "22608:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "22631:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22631:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22618:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22618:12:84"
                    },
                    "nativeSrc": "22618:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22618:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "22608:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22608:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22681:16:84",
                    "nodeType": "YulBlock",
                    "src": "22681:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22690:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22690:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22693:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22693:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22683:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22683:6:84"
                          },
                          "nativeSrc": "22683:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22683:12:84"
                        },
                        "nativeSrc": "22683:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22683:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "22653:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22653:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22661:18:84",
                        "nodeType": "YulLiteral",
                        "src": "22661:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22650:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "22650:2:84"
                    },
                    "nativeSrc": "22650:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22650:30:84"
                  },
                  "nativeSrc": "22647:50:84",
                  "nodeType": "YulIf",
                  "src": "22647:50:84"
                },
                {
                  "nativeSrc": "22706:25:84",
                  "nodeType": "YulAssignment",
                  "src": "22706:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "22718:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22718:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22726:4:84",
                        "nodeType": "YulLiteral",
                        "src": "22726:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22714:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22714:3:84"
                    },
                    "nativeSrc": "22714:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22714:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "22706:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22706:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22782:16:84",
                    "nodeType": "YulBlock",
                    "src": "22782:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22791:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22791:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22794:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22794:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22784:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22784:6:84"
                          },
                          "nativeSrc": "22784:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22784:12:84"
                        },
                        "nativeSrc": "22784:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22784:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "22747:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "22747:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "22757:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "22757:12:84"
                            },
                            "nativeSrc": "22757:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "22757:14:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "22773:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22773:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22753:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22753:3:84"
                        },
                        "nativeSrc": "22753:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22753:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "22743:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22743:3:84"
                    },
                    "nativeSrc": "22743:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22743:38:84"
                  },
                  "nativeSrc": "22740:58:84",
                  "nodeType": "YulIf",
                  "src": "22740:58:84"
                }
              ]
            },
            "name": "access_calldata_tail_t_bytes_calldata_ptr",
            "nativeSrc": "22283:521:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "22334:8:84",
                "nodeType": "YulTypedName",
                "src": "22334:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "22344:11:84",
                "nodeType": "YulTypedName",
                "src": "22344:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "22360:4:84",
                "nodeType": "YulTypedName",
                "src": "22360:4:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "22366:6:84",
                "nodeType": "YulTypedName",
                "src": "22366:6:84",
                "type": ""
              }
            ],
            "src": "22283:521:84"
          },
          {
            "body": {
              "nativeSrc": "23049:233:84",
              "nodeType": "YulBlock",
              "src": "23049:233:84",
              "statements": [
                {
                  "nativeSrc": "23059:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23059:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23079:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23079:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23073:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "23073:5:84"
                    },
                    "nativeSrc": "23073:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23073:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23063:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23063:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23134:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23134:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23142:4:84",
                            "nodeType": "YulLiteral",
                            "src": "23142:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23130:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23130:3:84"
                        },
                        "nativeSrc": "23130:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23130:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23149:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23149:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23154:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23154:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "23095:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "23095:34:84"
                    },
                    "nativeSrc": "23095:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23095:66:84"
                  },
                  "nativeSrc": "23095:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23095:66:84"
                },
                {
                  "nativeSrc": "23170:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23170:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23187:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23187:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23192:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23192:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23183:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23183:3:84"
                    },
                    "nativeSrc": "23183:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23183:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "23174:5:84",
                      "nodeType": "YulTypedName",
                      "src": "23174:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23215:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23215:5:84"
                      },
                      {
                        "hexValue": "3a20696e76616c6964207265706f72742064617461",
                        "kind": "string",
                        "nativeSrc": "23222:23:84",
                        "nodeType": "YulLiteral",
                        "src": "23222:23:84",
                        "type": "",
                        "value": ": invalid report data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23208:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23208:6:84"
                    },
                    "nativeSrc": "23208:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23208:38:84"
                  },
                  "nativeSrc": "23208:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23208:38:84"
                },
                {
                  "nativeSrc": "23255:21:84",
                  "nodeType": "YulAssignment",
                  "src": "23255:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23266:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23266:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23273:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23273:2:84",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23262:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23262:3:84"
                    },
                    "nativeSrc": "23262:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23262:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23255:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "22809:473:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23025:3:84",
                "nodeType": "YulTypedName",
                "src": "23025:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23030:6:84",
                "nodeType": "YulTypedName",
                "src": "23030:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23041:3:84",
                "nodeType": "YulTypedName",
                "src": "23041:3:84",
                "type": ""
              }
            ],
            "src": "22809:473:84"
          },
          {
            "body": {
              "nativeSrc": "23335:77:84",
              "nodeType": "YulBlock",
              "src": "23335:77:84",
              "statements": [
                {
                  "nativeSrc": "23345:16:84",
                  "nodeType": "YulAssignment",
                  "src": "23345:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "23356:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "23356:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "23359:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "23359:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23352:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23352:3:84"
                    },
                    "nativeSrc": "23352:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23352:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "23345:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23345:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23384:22:84",
                    "nodeType": "YulBlock",
                    "src": "23384:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "23386:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "23386:16:84"
                          },
                          "nativeSrc": "23386:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23386:18:84"
                        },
                        "nativeSrc": "23386:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23386:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "23376:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "23376:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "23379:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23379:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "23373:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23373:2:84"
                    },
                    "nativeSrc": "23373:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23373:10:84"
                  },
                  "nativeSrc": "23370:36:84",
                  "nodeType": "YulIf",
                  "src": "23370:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "23287:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "23318:1:84",
                "nodeType": "YulTypedName",
                "src": "23318:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "23321:1:84",
                "nodeType": "YulTypedName",
                "src": "23321:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "23327:3:84",
                "nodeType": "YulTypedName",
                "src": "23327:3:84",
                "type": ""
              }
            ],
            "src": "23287:125:84"
          },
          {
            "body": {
              "nativeSrc": "23472:325:84",
              "nodeType": "YulBlock",
              "src": "23472:325:84",
              "statements": [
                {
                  "nativeSrc": "23482:22:84",
                  "nodeType": "YulAssignment",
                  "src": "23482:22:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23496:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23496:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "23499:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23499:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "23492:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23492:3:84"
                    },
                    "nativeSrc": "23492:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23492:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23482:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23482:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23513:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23513:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "23543:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23543:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23549:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23549:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23539:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23539:3:84"
                    },
                    "nativeSrc": "23539:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23539:12:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "23517:18:84",
                      "nodeType": "YulTypedName",
                      "src": "23517:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23590:31:84",
                    "nodeType": "YulBlock",
                    "src": "23590:31:84",
                    "statements": [
                      {
                        "nativeSrc": "23592:27:84",
                        "nodeType": "YulAssignment",
                        "src": "23592:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "23606:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "23606:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23614:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23614:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "23602:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23602:3:84"
                          },
                          "nativeSrc": "23602:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23602:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "23592:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23592:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23570:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23570:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23563:6:84"
                    },
                    "nativeSrc": "23563:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23563:26:84"
                  },
                  "nativeSrc": "23560:61:84",
                  "nodeType": "YulIf",
                  "src": "23560:61:84"
                },
                {
                  "body": {
                    "nativeSrc": "23680:111:84",
                    "nodeType": "YulBlock",
                    "src": "23680:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23701:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23701:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "23708:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23708:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "23713:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23713:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "23704:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "23704:3:84"
                              },
                              "nativeSrc": "23704:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "23704:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23694:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23694:6:84"
                          },
                          "nativeSrc": "23694:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23694:31:84"
                        },
                        "nativeSrc": "23694:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23694:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23745:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23745:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23748:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23748:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23738:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23738:6:84"
                          },
                          "nativeSrc": "23738:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23738:15:84"
                        },
                        "nativeSrc": "23738:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23738:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23773:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23773:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23776:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23776:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23766:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23766:6:84"
                          },
                          "nativeSrc": "23766:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23766:15:84"
                        },
                        "nativeSrc": "23766:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23766:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23636:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23636:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "23659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23659:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23667:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23667:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "23656:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "23656:2:84"
                        },
                        "nativeSrc": "23656:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23656:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "23633:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23633:2:84"
                    },
                    "nativeSrc": "23633:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23633:38:84"
                  },
                  "nativeSrc": "23630:161:84",
                  "nodeType": "YulIf",
                  "src": "23630:161:84"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "23417:380:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "23452:4:84",
                "nodeType": "YulTypedName",
                "src": "23452:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "23461:6:84",
                "nodeType": "YulTypedName",
                "src": "23461:6:84",
                "type": ""
              }
            ],
            "src": "23417:380:84"
          },
          {
            "body": {
              "nativeSrc": "23953:507:84",
              "nodeType": "YulBlock",
              "src": "23953:507:84",
              "statements": [
                {
                  "nativeSrc": "23963:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23963:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "23973:2:84",
                    "nodeType": "YulLiteral",
                    "src": "23973:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23967:2:84",
                      "nodeType": "YulTypedName",
                      "src": "23967:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23984:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23984:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24002:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24002:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24013:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24013:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23998:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23998:3:84"
                    },
                    "nativeSrc": "23998:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23998:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "23988:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23988:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24032:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24032:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24043:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24043:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24025:6:84"
                    },
                    "nativeSrc": "24025:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24025:21:84"
                  },
                  "nativeSrc": "24025:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24025:21:84"
                },
                {
                  "nativeSrc": "24055:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24055:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "24066:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "24066:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "24059:3:84",
                      "nodeType": "YulTypedName",
                      "src": "24059:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24081:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24081:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24101:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24101:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24095:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "24095:5:84"
                    },
                    "nativeSrc": "24095:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24095:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24085:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24085:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "24124:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24124:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24132:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24132:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24117:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24117:6:84"
                    },
                    "nativeSrc": "24117:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24117:22:84"
                  },
                  "nativeSrc": "24117:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24117:22:84"
                },
                {
                  "nativeSrc": "24148:25:84",
                  "nodeType": "YulAssignment",
                  "src": "24148:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24159:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24159:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24170:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24170:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24155:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24155:3:84"
                    },
                    "nativeSrc": "24155:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24155:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "24148:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24148:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24182:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24182:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24200:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24200:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24208:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24208:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24196:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24196:3:84"
                    },
                    "nativeSrc": "24196:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24196:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "24186:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24186:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24220:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24220:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24229:1:84",
                    "nodeType": "YulLiteral",
                    "src": "24229:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "24224:1:84",
                      "nodeType": "YulTypedName",
                      "src": "24224:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24288:146:84",
                    "nodeType": "YulBlock",
                    "src": "24288:146:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24309:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24309:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "24324:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "24324:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "24318:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24318:5:84"
                                  },
                                  "nativeSrc": "24318:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24318:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24341:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24341:3:84",
                                          "type": "",
                                          "value": "160"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24346:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24346:1:84",
                                          "type": "",
                                          "value": "1"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "24337:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "24337:3:84"
                                      },
                                      "nativeSrc": "24337:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "24337:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "24350:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "24350:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "24333:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24333:3:84"
                                  },
                                  "nativeSrc": "24333:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24333:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "24314:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "24314:3:84"
                              },
                              "nativeSrc": "24314:39:84",
                              "nodeType": "YulFunctionCall",
                              "src": "24314:39:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24302:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24302:6:84"
                          },
                          "nativeSrc": "24302:52:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24302:52:84"
                        },
                        "nativeSrc": "24302:52:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24302:52:84"
                      },
                      {
                        "nativeSrc": "24367:19:84",
                        "nodeType": "YulAssignment",
                        "src": "24367:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24378:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24378:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24383:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24383:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24374:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24374:3:84"
                          },
                          "nativeSrc": "24374:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24374:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "24367:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24367:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "24399:25:84",
                        "nodeType": "YulAssignment",
                        "src": "24399:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "24413:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24413:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24421:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24421:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24409:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24409:3:84"
                          },
                          "nativeSrc": "24409:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24409:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "24399:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24399:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "24250:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24250:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24253:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24253:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "24247:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24247:2:84"
                    },
                    "nativeSrc": "24247:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24247:13:84"
                  },
                  "nativeSrc": "24239:195:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "24261:18:84",
                    "nodeType": "YulBlock",
                    "src": "24261:18:84",
                    "statements": [
                      {
                        "nativeSrc": "24263:14:84",
                        "nodeType": "YulAssignment",
                        "src": "24263:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "24272:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "24272:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24275:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24275:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24268:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24268:3:84"
                          },
                          "nativeSrc": "24268:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24268:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "24263:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "24263:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "24243:3:84",
                    "nodeType": "YulBlock",
                    "src": "24243:3:84",
                    "statements": []
                  },
                  "src": "24239:195:84"
                },
                {
                  "nativeSrc": "24443:11:84",
                  "nodeType": "YulAssignment",
                  "src": "24443:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "24451:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "24451:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24443:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24443:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "23802:658:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23922:9:84",
                "nodeType": "YulTypedName",
                "src": "23922:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23933:6:84",
                "nodeType": "YulTypedName",
                "src": "23933:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23944:4:84",
                "nodeType": "YulTypedName",
                "src": "23944:4:84",
                "type": ""
              }
            ],
            "src": "23802:658:84"
          },
          {
            "body": {
              "nativeSrc": "24517:116:84",
              "nodeType": "YulBlock",
              "src": "24517:116:84",
              "statements": [
                {
                  "nativeSrc": "24527:20:84",
                  "nodeType": "YulAssignment",
                  "src": "24527:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "24542:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24542:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "24545:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24545:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "24538:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24538:3:84"
                    },
                    "nativeSrc": "24538:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24538:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "24527:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "24527:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24605:22:84",
                    "nodeType": "YulBlock",
                    "src": "24605:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "24607:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "24607:16:84"
                          },
                          "nativeSrc": "24607:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24607:18:84"
                        },
                        "nativeSrc": "24607:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24607:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "24576:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "24576:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "24569:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24569:6:84"
                            },
                            "nativeSrc": "24569:9:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24569:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "24583:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "24583:1:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "24590:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24590:7:84"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "24599:1:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24599:1:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "24586:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "24586:3:84"
                                },
                                "nativeSrc": "24586:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "24586:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "24580:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24580:2:84"
                            },
                            "nativeSrc": "24580:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24580:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "24566:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24566:2:84"
                        },
                        "nativeSrc": "24566:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24566:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24559:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24559:6:84"
                    },
                    "nativeSrc": "24559:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24559:45:84"
                  },
                  "nativeSrc": "24556:71:84",
                  "nodeType": "YulIf",
                  "src": "24556:71:84"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "24465:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "24496:1:84",
                "nodeType": "YulTypedName",
                "src": "24496:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "24499:1:84",
                "nodeType": "YulTypedName",
                "src": "24499:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "24505:7:84",
                "nodeType": "YulTypedName",
                "src": "24505:7:84",
                "type": ""
              }
            ],
            "src": "24465:168:84"
          },
          {
            "body": {
              "nativeSrc": "24681:71:84",
              "nodeType": "YulBlock",
              "src": "24681:71:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24730:16:84",
                    "nodeType": "YulBlock",
                    "src": "24730:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24739:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24739:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24742:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24742:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24732:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24732:6:84"
                          },
                          "nativeSrc": "24732:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24732:12:84"
                        },
                        "nativeSrc": "24732:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24732:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24704:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24704:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "24715:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "24715:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24722:4:84",
                                "nodeType": "YulLiteral",
                                "src": "24722:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24711:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24711:3:84"
                            },
                            "nativeSrc": "24711:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24711:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24701:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24701:2:84"
                        },
                        "nativeSrc": "24701:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24701:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24694:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24694:6:84"
                    },
                    "nativeSrc": "24694:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24694:35:84"
                  },
                  "nativeSrc": "24691:55:84",
                  "nodeType": "YulIf",
                  "src": "24691:55:84"
                }
              ]
            },
            "name": "validator_revert_uint8",
            "nativeSrc": "24638:114:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24670:5:84",
                "nodeType": "YulTypedName",
                "src": "24670:5:84",
                "type": ""
              }
            ],
            "src": "24638:114:84"
          },
          {
            "body": {
              "nativeSrc": "24801:85:84",
              "nodeType": "YulBlock",
              "src": "24801:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24864:16:84",
                    "nodeType": "YulBlock",
                    "src": "24864:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24873:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24873:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24876:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24876:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24866:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24866:6:84"
                          },
                          "nativeSrc": "24866:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24866:12:84"
                        },
                        "nativeSrc": "24866:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24866:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24824:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24824:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "24835:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "24835:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24842:18:84",
                                "nodeType": "YulLiteral",
                                "src": "24842:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24831:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24831:3:84"
                            },
                            "nativeSrc": "24831:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24831:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24821:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24821:2:84"
                        },
                        "nativeSrc": "24821:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24821:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24814:6:84"
                    },
                    "nativeSrc": "24814:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24814:49:84"
                  },
                  "nativeSrc": "24811:69:84",
                  "nodeType": "YulIf",
                  "src": "24811:69:84"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "24757:129:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24790:5:84",
                "nodeType": "YulTypedName",
                "src": "24790:5:84",
                "type": ""
              }
            ],
            "src": "24757:129:84"
          },
          {
            "body": {
              "nativeSrc": "25104:416:84",
              "nodeType": "YulBlock",
              "src": "25104:416:84",
              "statements": [
                {
                  "nativeSrc": "25114:27:84",
                  "nodeType": "YulAssignment",
                  "src": "25114:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25126:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25137:3:84",
                        "nodeType": "YulLiteral",
                        "src": "25137:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25122:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25122:3:84"
                    },
                    "nativeSrc": "25122:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25122:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25114:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "25114:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25157:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25157:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "25168:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25168:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25150:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25150:6:84"
                    },
                    "nativeSrc": "25150:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25150:25:84"
                  },
                  "nativeSrc": "25150:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25150:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25195:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25195:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25206:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25206:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25191:3:84"
                        },
                        "nativeSrc": "25191:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25191:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "25211:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25211:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25184:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25184:6:84"
                    },
                    "nativeSrc": "25184:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25184:34:84"
                  },
                  "nativeSrc": "25184:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25184:34:84"
                },
                {
                  "nativeSrc": "25227:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25227:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "25253:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25253:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25240:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25240:12:84"
                    },
                    "nativeSrc": "25240:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25240:20:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25231:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25231:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25292:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25292:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "25269:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "25269:22:84"
                    },
                    "nativeSrc": "25269:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25269:29:84"
                  },
                  "nativeSrc": "25269:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25269:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25318:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25318:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25329:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25329:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25314:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25314:3:84"
                        },
                        "nativeSrc": "25314:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25314:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "25338:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "25338:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25345:4:84",
                            "nodeType": "YulLiteral",
                            "src": "25345:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25334:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25334:3:84"
                        },
                        "nativeSrc": "25334:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25334:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25307:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25307:6:84"
                    },
                    "nativeSrc": "25307:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25307:44:84"
                  },
                  "nativeSrc": "25307:44:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25307:44:84"
                },
                {
                  "nativeSrc": "25360:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25360:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "25392:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25392:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25400:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25400:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25388:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25388:3:84"
                        },
                        "nativeSrc": "25388:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25388:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25375:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25375:12:84"
                    },
                    "nativeSrc": "25375:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25375:29:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "25364:7:84",
                      "nodeType": "YulTypedName",
                      "src": "25364:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "25437:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25437:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "25413:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "25413:23:84"
                    },
                    "nativeSrc": "25413:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25413:32:84"
                  },
                  "nativeSrc": "25413:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25413:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25465:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25465:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25476:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25476:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25461:3:84"
                        },
                        "nativeSrc": "25461:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25461:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "25485:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25485:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25494:18:84",
                            "nodeType": "YulLiteral",
                            "src": "25494:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25481:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25481:3:84"
                        },
                        "nativeSrc": "25481:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25481:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25454:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25454:6:84"
                    },
                    "nativeSrc": "25454:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25454:60:84"
                  },
                  "nativeSrc": "25454:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25454:60:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "24891:629:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25057:9:84",
                "nodeType": "YulTypedName",
                "src": "25057:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "25068:6:84",
                "nodeType": "YulTypedName",
                "src": "25068:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25076:6:84",
                "nodeType": "YulTypedName",
                "src": "25076:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25084:6:84",
                "nodeType": "YulTypedName",
                "src": "25084:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25095:4:84",
                "nodeType": "YulTypedName",
                "src": "25095:4:84",
                "type": ""
              }
            ],
            "src": "24891:629:84"
          },
          {
            "body": {
              "nativeSrc": "25640:357:84",
              "nodeType": "YulBlock",
              "src": "25640:357:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25686:16:84",
                    "nodeType": "YulBlock",
                    "src": "25686:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25695:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25695:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25698:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25698:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25688:6:84"
                          },
                          "nativeSrc": "25688:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25688:12:84"
                        },
                        "nativeSrc": "25688:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25688:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "25661:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25661:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "25670:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25670:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "25657:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25657:3:84"
                        },
                        "nativeSrc": "25657:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25657:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25682:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25682:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "25653:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25653:3:84"
                    },
                    "nativeSrc": "25653:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25653:32:84"
                  },
                  "nativeSrc": "25650:52:84",
                  "nodeType": "YulIf",
                  "src": "25650:52:84"
                },
                {
                  "nativeSrc": "25711:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25711:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25730:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25730:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25724:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25724:5:84"
                    },
                    "nativeSrc": "25724:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25724:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25715:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25715:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25774:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25774:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "25749:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "25749:24:84"
                    },
                    "nativeSrc": "25749:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25749:31:84"
                  },
                  "nativeSrc": "25749:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25749:31:84"
                },
                {
                  "nativeSrc": "25789:15:84",
                  "nodeType": "YulAssignment",
                  "src": "25789:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "25799:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "25799:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "25789:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25789:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "25813:39:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25813:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25837:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25837:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25848:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25848:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25833:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25833:3:84"
                        },
                        "nativeSrc": "25833:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25833:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25827:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25827:5:84"
                    },
                    "nativeSrc": "25827:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25827:25:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "25817:6:84",
                      "nodeType": "YulTypedName",
                      "src": "25817:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25895:16:84",
                    "nodeType": "YulBlock",
                    "src": "25895:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25904:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25904:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25907:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25907:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25897:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25897:6:84"
                          },
                          "nativeSrc": "25897:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25897:12:84"
                        },
                        "nativeSrc": "25897:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25897:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25867:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25867:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25875:18:84",
                        "nodeType": "YulLiteral",
                        "src": "25875:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25864:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "25864:2:84"
                    },
                    "nativeSrc": "25864:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25864:30:84"
                  },
                  "nativeSrc": "25861:50:84",
                  "nodeType": "YulIf",
                  "src": "25861:50:84"
                },
                {
                  "nativeSrc": "25920:71:84",
                  "nodeType": "YulAssignment",
                  "src": "25920:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25963:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25963:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "25974:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25974:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25959:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25959:3:84"
                        },
                        "nativeSrc": "25959:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25959:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "25983:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25983:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "25930:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "25930:28:84"
                    },
                    "nativeSrc": "25930:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25930:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "25920:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25920:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "25525:472:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25598:9:84",
                "nodeType": "YulTypedName",
                "src": "25598:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "25609:7:84",
                "nodeType": "YulTypedName",
                "src": "25609:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "25621:6:84",
                "nodeType": "YulTypedName",
                "src": "25621:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25629:6:84",
                "nodeType": "YulTypedName",
                "src": "25629:6:84",
                "type": ""
              }
            ],
            "src": "25525:472:84"
          },
          {
            "body": {
              "nativeSrc": "26108:912:84",
              "nodeType": "YulBlock",
              "src": "26108:912:84",
              "statements": [
                {
                  "nativeSrc": "26118:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26118:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "26128:2:84",
                    "nodeType": "YulLiteral",
                    "src": "26128:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "26122:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26122:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26175:16:84",
                    "nodeType": "YulBlock",
                    "src": "26175:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26184:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26184:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26187:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26187:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26177:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26177:6:84"
                          },
                          "nativeSrc": "26177:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26177:12:84"
                        },
                        "nativeSrc": "26177:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26177:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26150:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26150:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26159:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26159:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26146:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26146:3:84"
                        },
                        "nativeSrc": "26146:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26146:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26171:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26171:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26142:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26142:3:84"
                    },
                    "nativeSrc": "26142:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26142:32:84"
                  },
                  "nativeSrc": "26139:52:84",
                  "nodeType": "YulIf",
                  "src": "26139:52:84"
                },
                {
                  "nativeSrc": "26200:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26200:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26220:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26220:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26214:5:84"
                    },
                    "nativeSrc": "26214:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26214:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26273:16:84",
                    "nodeType": "YulBlock",
                    "src": "26273:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26282:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26282:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26285:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26285:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26275:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26275:6:84"
                          },
                          "nativeSrc": "26275:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26275:12:84"
                        },
                        "nativeSrc": "26275:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26275:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26245:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26245:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26253:18:84",
                        "nodeType": "YulLiteral",
                        "src": "26253:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26242:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26242:2:84"
                    },
                    "nativeSrc": "26242:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26242:30:84"
                  },
                  "nativeSrc": "26239:50:84",
                  "nodeType": "YulIf",
                  "src": "26239:50:84"
                },
                {
                  "nativeSrc": "26298:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26298:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26312:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26312:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "26323:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26323:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26308:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26308:3:84"
                    },
                    "nativeSrc": "26308:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26308:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "26302:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26302:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26378:16:84",
                    "nodeType": "YulBlock",
                    "src": "26378:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26387:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26387:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26390:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26390:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26380:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26380:6:84"
                          },
                          "nativeSrc": "26380:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26380:12:84"
                        },
                        "nativeSrc": "26380:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26380:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "26357:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26357:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26361:4:84",
                                "nodeType": "YulLiteral",
                                "src": "26361:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "26353:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26353:3:84"
                            },
                            "nativeSrc": "26353:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26353:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26368:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26368:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "26349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26349:3:84"
                        },
                        "nativeSrc": "26349:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26349:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26342:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26342:6:84"
                    },
                    "nativeSrc": "26342:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26342:35:84"
                  },
                  "nativeSrc": "26339:55:84",
                  "nodeType": "YulIf",
                  "src": "26339:55:84"
                },
                {
                  "nativeSrc": "26403:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26403:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26419:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26419:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26413:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26413:5:84"
                    },
                    "nativeSrc": "26413:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26413:9:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "26407:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26407:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26431:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26431:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "26481:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26481:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "26441:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "26441:39:84"
                    },
                    "nativeSrc": "26441:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26441:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "26435:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26435:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26493:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26493:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26513:2:84",
                        "nodeType": "YulLiteral",
                        "src": "26513:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26507:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26507:5:84"
                    },
                    "nativeSrc": "26507:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26507:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26497:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26497:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26545:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26545:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "26553:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26553:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "26525:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "26525:19:84"
                    },
                    "nativeSrc": "26525:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26525:31:84"
                  },
                  "nativeSrc": "26525:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26525:31:84"
                },
                {
                  "nativeSrc": "26565:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26565:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26576:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "26576:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "26569:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26569:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26598:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26598:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "26606:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26606:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26591:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26591:6:84"
                    },
                    "nativeSrc": "26591:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26591:18:84"
                  },
                  "nativeSrc": "26591:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26591:18:84"
                },
                {
                  "nativeSrc": "26618:22:84",
                  "nodeType": "YulAssignment",
                  "src": "26618:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26629:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26629:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26637:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26637:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26625:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26625:3:84"
                    },
                    "nativeSrc": "26625:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26625:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "26618:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26618:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "26649:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26649:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "26671:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "26671:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26679:1:84",
                                "nodeType": "YulLiteral",
                                "src": "26679:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "26682:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26682:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26675:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26675:3:84"
                            },
                            "nativeSrc": "26675:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26675:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26667:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26667:3:84"
                        },
                        "nativeSrc": "26667:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26667:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26688:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26688:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26663:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26663:3:84"
                    },
                    "nativeSrc": "26663:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26663:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "26653:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26653:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26723:16:84",
                    "nodeType": "YulBlock",
                    "src": "26723:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26732:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26732:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26735:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26735:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26725:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26725:6:84"
                          },
                          "nativeSrc": "26725:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26725:12:84"
                        },
                        "nativeSrc": "26725:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26725:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26706:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26706:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "26714:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "26714:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26703:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26703:2:84"
                    },
                    "nativeSrc": "26703:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26703:19:84"
                  },
                  "nativeSrc": "26700:39:84",
                  "nodeType": "YulIf",
                  "src": "26700:39:84"
                },
                {
                  "nativeSrc": "26748:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26748:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26763:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26763:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26767:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26767:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26759:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26759:3:84"
                    },
                    "nativeSrc": "26759:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26759:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "26752:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26752:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26835:154:84",
                    "nodeType": "YulBlock",
                    "src": "26835:154:84",
                    "statements": [
                      {
                        "nativeSrc": "26849:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26849:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26868:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26868:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "26862:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "26862:5:84"
                          },
                          "nativeSrc": "26862:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26862:10:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "26853:5:84",
                            "nodeType": "YulTypedName",
                            "src": "26853:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "26910:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26910:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "26885:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "26885:24:84"
                          },
                          "nativeSrc": "26885:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26885:31:84"
                        },
                        "nativeSrc": "26885:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26885:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26936:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26936:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "26941:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26941:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "26929:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26929:6:84"
                          },
                          "nativeSrc": "26929:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26929:18:84"
                        },
                        "nativeSrc": "26929:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26929:18:84"
                      },
                      {
                        "nativeSrc": "26960:19:84",
                        "nodeType": "YulAssignment",
                        "src": "26960:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26971:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26971:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "26976:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26976:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26967:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26967:3:84"
                          },
                          "nativeSrc": "26967:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26967:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "26960:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26960:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "26790:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26790:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26795:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26795:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "26787:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26787:2:84"
                    },
                    "nativeSrc": "26787:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26787:15:84"
                  },
                  "nativeSrc": "26779:210:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "26803:23:84",
                    "nodeType": "YulBlock",
                    "src": "26803:23:84",
                    "statements": [
                      {
                        "nativeSrc": "26805:19:84",
                        "nodeType": "YulAssignment",
                        "src": "26805:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26816:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26816:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "26821:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26821:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26812:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26812:3:84"
                          },
                          "nativeSrc": "26812:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26812:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "26805:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26805:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "26783:3:84",
                    "nodeType": "YulBlock",
                    "src": "26783:3:84",
                    "statements": []
                  },
                  "src": "26779:210:84"
                },
                {
                  "nativeSrc": "26998:16:84",
                  "nodeType": "YulAssignment",
                  "src": "26998:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "27008:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "27008:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "26998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26998:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "26002:1018:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26074:9:84",
                "nodeType": "YulTypedName",
                "src": "26074:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26085:7:84",
                "nodeType": "YulTypedName",
                "src": "26085:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26097:6:84",
                "nodeType": "YulTypedName",
                "src": "26097:6:84",
                "type": ""
              }
            ],
            "src": "26002:1018:84"
          },
          {
            "body": {
              "nativeSrc": "27105:210:84",
              "nodeType": "YulBlock",
              "src": "27105:210:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27151:16:84",
                    "nodeType": "YulBlock",
                    "src": "27151:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27160:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27160:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27163:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27163:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27153:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27153:6:84"
                          },
                          "nativeSrc": "27153:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27153:12:84"
                        },
                        "nativeSrc": "27153:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27153:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27126:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27126:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27135:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27135:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27122:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27122:3:84"
                        },
                        "nativeSrc": "27122:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27122:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27147:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27147:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27118:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27118:3:84"
                    },
                    "nativeSrc": "27118:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27118:32:84"
                  },
                  "nativeSrc": "27115:52:84",
                  "nodeType": "YulIf",
                  "src": "27115:52:84"
                },
                {
                  "nativeSrc": "27176:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27176:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27195:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27195:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27189:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27189:5:84"
                    },
                    "nativeSrc": "27189:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27189:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27180:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27180:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27269:16:84",
                    "nodeType": "YulBlock",
                    "src": "27269:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27278:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27278:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27281:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27281:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27271:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27271:6:84"
                          },
                          "nativeSrc": "27271:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27271:12:84"
                        },
                        "nativeSrc": "27271:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27271:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "27227:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "27227:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "27238:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "27238:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27249:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27249:3:84",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27254:10:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27254:10:84",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "27245:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27245:3:84"
                                },
                                "nativeSrc": "27245:20:84",
                                "nodeType": "YulFunctionCall",
                                "src": "27245:20:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "27234:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27234:3:84"
                            },
                            "nativeSrc": "27234:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27234:32:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "27224:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "27224:2:84"
                        },
                        "nativeSrc": "27224:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27224:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27217:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27217:6:84"
                    },
                    "nativeSrc": "27217:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27217:51:84"
                  },
                  "nativeSrc": "27214:71:84",
                  "nodeType": "YulIf",
                  "src": "27214:71:84"
                },
                {
                  "nativeSrc": "27294:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27294:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27304:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27304:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27294:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27294:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "27025:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27071:9:84",
                "nodeType": "YulTypedName",
                "src": "27071:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27082:7:84",
                "nodeType": "YulTypedName",
                "src": "27082:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27094:6:84",
                "nodeType": "YulTypedName",
                "src": "27094:6:84",
                "type": ""
              }
            ],
            "src": "27025:290:84"
          },
          {
            "body": {
              "nativeSrc": "27421:170:84",
              "nodeType": "YulBlock",
              "src": "27421:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27467:16:84",
                    "nodeType": "YulBlock",
                    "src": "27467:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27476:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27476:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27479:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27479:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27469:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27469:6:84"
                          },
                          "nativeSrc": "27469:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27469:12:84"
                        },
                        "nativeSrc": "27469:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27469:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27442:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27442:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27451:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27451:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27438:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27438:3:84"
                        },
                        "nativeSrc": "27438:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27438:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27463:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27463:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27434:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27434:3:84"
                    },
                    "nativeSrc": "27434:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27434:32:84"
                  },
                  "nativeSrc": "27431:52:84",
                  "nodeType": "YulIf",
                  "src": "27431:52:84"
                },
                {
                  "nativeSrc": "27492:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27492:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27511:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27511:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27505:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27505:5:84"
                    },
                    "nativeSrc": "27505:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27505:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27496:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27496:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27555:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27555:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27530:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27530:24:84"
                    },
                    "nativeSrc": "27530:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27530:31:84"
                  },
                  "nativeSrc": "27530:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27530:31:84"
                },
                {
                  "nativeSrc": "27570:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27570:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27580:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27580:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetOracle_$749_fromMemory",
            "nativeSrc": "27320:271:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27387:9:84",
                "nodeType": "YulTypedName",
                "src": "27387:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27398:7:84",
                "nodeType": "YulTypedName",
                "src": "27398:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27410:6:84",
                "nodeType": "YulTypedName",
                "src": "27410:6:84",
                "type": ""
              }
            ],
            "src": "27320:271:84"
          },
          {
            "body": {
              "nativeSrc": "27707:170:84",
              "nodeType": "YulBlock",
              "src": "27707:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27753:16:84",
                    "nodeType": "YulBlock",
                    "src": "27753:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27762:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27762:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27765:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27765:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27755:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27755:6:84"
                          },
                          "nativeSrc": "27755:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27755:12:84"
                        },
                        "nativeSrc": "27755:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27755:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27728:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27728:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27737:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27737:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27724:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27724:3:84"
                        },
                        "nativeSrc": "27724:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27724:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27749:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27749:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27720:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27720:3:84"
                    },
                    "nativeSrc": "27720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27720:32:84"
                  },
                  "nativeSrc": "27717:52:84",
                  "nodeType": "YulIf",
                  "src": "27717:52:84"
                },
                {
                  "nativeSrc": "27778:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27778:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27797:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27797:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27791:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27791:5:84"
                    },
                    "nativeSrc": "27791:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27791:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27782:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27782:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27841:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27841:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27816:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27816:24:84"
                    },
                    "nativeSrc": "27816:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27816:31:84"
                  },
                  "nativeSrc": "27816:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27816:31:84"
                },
                {
                  "nativeSrc": "27856:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27856:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27866:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27866:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27856:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27856:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory",
            "nativeSrc": "27596:281:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27673:9:84",
                "nodeType": "YulTypedName",
                "src": "27673:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27684:7:84",
                "nodeType": "YulTypedName",
                "src": "27684:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27696:6:84",
                "nodeType": "YulTypedName",
                "src": "27696:6:84",
                "type": ""
              }
            ],
            "src": "27596:281:84"
          },
          {
            "body": {
              "nativeSrc": "28109:351:84",
              "nodeType": "YulBlock",
              "src": "28109:351:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28126:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28141:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28141:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28157:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28157:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28162:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28162:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "28153:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28153:3:84"
                                },
                                "nativeSrc": "28153:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28153:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28166:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28166:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "28149:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28149:3:84"
                            },
                            "nativeSrc": "28149:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28149:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28137:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28137:3:84"
                        },
                        "nativeSrc": "28137:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28137:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28119:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28119:6:84"
                    },
                    "nativeSrc": "28119:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28119:51:84"
                  },
                  "nativeSrc": "28119:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28119:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28190:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28190:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28201:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28201:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28186:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28186:3:84"
                        },
                        "nativeSrc": "28186:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28186:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28206:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28206:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28179:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28179:6:84"
                    },
                    "nativeSrc": "28179:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28179:30:84"
                  },
                  "nativeSrc": "28179:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28179:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28229:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28229:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28240:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28240:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28225:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28225:3:84"
                        },
                        "nativeSrc": "28225:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28225:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28245:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28245:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28218:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28218:6:84"
                    },
                    "nativeSrc": "28218:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28218:34:84"
                  },
                  "nativeSrc": "28218:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28218:34:84"
                },
                {
                  "body": {
                    "nativeSrc": "28296:16:84",
                    "nodeType": "YulBlock",
                    "src": "28296:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28305:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28305:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28308:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28308:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28298:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28298:6:84"
                          },
                          "nativeSrc": "28298:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28298:12:84"
                        },
                        "nativeSrc": "28298:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28298:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "28267:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28267:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28283:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28283:3:84",
                                "type": "",
                                "value": "251"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28288:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28288:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28279:3:84"
                            },
                            "nativeSrc": "28279:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28279:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28292:1:84",
                            "nodeType": "YulLiteral",
                            "src": "28292:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28275:3:84"
                        },
                        "nativeSrc": "28275:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28275:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28264:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28264:2:84"
                    },
                    "nativeSrc": "28264:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28264:31:84"
                  },
                  "nativeSrc": "28261:51:84",
                  "nodeType": "YulIf",
                  "src": "28261:51:84"
                },
                {
                  "nativeSrc": "28321:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28321:28:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28339:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28339:1:84",
                        "type": "",
                        "value": "5"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28342:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28342:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "shl",
                      "nativeSrc": "28335:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28335:3:84"
                    },
                    "nativeSrc": "28335:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28335:14:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "28325:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28325:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28375:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28375:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28386:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28386:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28371:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28371:3:84"
                        },
                        "nativeSrc": "28371:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28371:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "28391:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28391:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28399:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28399:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "28358:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "28358:12:84"
                    },
                    "nativeSrc": "28358:48:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28358:48:84"
                  },
                  "nativeSrc": "28358:48:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28358:48:84"
                },
                {
                  "nativeSrc": "28415:39:84",
                  "nodeType": "YulAssignment",
                  "src": "28415:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28431:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28431:9:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "28442:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28442:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28427:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28427:3:84"
                        },
                        "nativeSrc": "28427:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28427:22:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28451:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28451:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28423:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28423:3:84"
                    },
                    "nativeSrc": "28423:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28423:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28415:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "28415:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "27882:578:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28062:9:84",
                "nodeType": "YulTypedName",
                "src": "28062:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "28073:6:84",
                "nodeType": "YulTypedName",
                "src": "28073:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28081:6:84",
                "nodeType": "YulTypedName",
                "src": "28081:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28089:6:84",
                "nodeType": "YulTypedName",
                "src": "28089:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28100:4:84",
                "nodeType": "YulTypedName",
                "src": "28100:4:84",
                "type": ""
              }
            ],
            "src": "27882:578:84"
          },
          {
            "body": {
              "nativeSrc": "28580:1080:84",
              "nodeType": "YulBlock",
              "src": "28580:1080:84",
              "statements": [
                {
                  "nativeSrc": "28590:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28590:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28600:2:84",
                    "nodeType": "YulLiteral",
                    "src": "28600:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "28594:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28594:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28647:16:84",
                    "nodeType": "YulBlock",
                    "src": "28647:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28656:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28656:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28659:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28659:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28649:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28649:6:84"
                          },
                          "nativeSrc": "28649:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28649:12:84"
                        },
                        "nativeSrc": "28649:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28649:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28622:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28622:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28631:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28631:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28618:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28618:3:84"
                        },
                        "nativeSrc": "28618:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28618:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "28643:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28643:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28614:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28614:3:84"
                    },
                    "nativeSrc": "28614:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28614:32:84"
                  },
                  "nativeSrc": "28611:52:84",
                  "nodeType": "YulIf",
                  "src": "28611:52:84"
                },
                {
                  "nativeSrc": "28672:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28672:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28692:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28692:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28686:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28686:5:84"
                    },
                    "nativeSrc": "28686:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28686:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "28676:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28676:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28711:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28711:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28721:18:84",
                    "nodeType": "YulLiteral",
                    "src": "28721:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "28715:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28715:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28766:16:84",
                    "nodeType": "YulBlock",
                    "src": "28766:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28775:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28775:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28778:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28778:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28768:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28768:6:84"
                          },
                          "nativeSrc": "28768:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28768:12:84"
                        },
                        "nativeSrc": "28768:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28768:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "28754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28754:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "28762:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28762:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28751:2:84"
                    },
                    "nativeSrc": "28751:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28751:14:84"
                  },
                  "nativeSrc": "28748:34:84",
                  "nodeType": "YulIf",
                  "src": "28748:34:84"
                },
                {
                  "nativeSrc": "28791:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28791:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28805:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28805:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "28816:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28816:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28801:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28801:3:84"
                    },
                    "nativeSrc": "28801:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28801:22:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "28795:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28795:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28871:16:84",
                    "nodeType": "YulBlock",
                    "src": "28871:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28880:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28883:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28883:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28873:6:84"
                          },
                          "nativeSrc": "28873:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28873:12:84"
                        },
                        "nativeSrc": "28873:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28873:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_3",
                                "nativeSrc": "28850:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "28850:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28854:4:84",
                                "nodeType": "YulLiteral",
                                "src": "28854:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28846:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28846:3:84"
                            },
                            "nativeSrc": "28846:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28846:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28861:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28861:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "28842:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28842:3:84"
                        },
                        "nativeSrc": "28842:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28842:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28835:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28835:6:84"
                    },
                    "nativeSrc": "28835:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28835:35:84"
                  },
                  "nativeSrc": "28832:55:84",
                  "nodeType": "YulIf",
                  "src": "28832:55:84"
                },
                {
                  "nativeSrc": "28896:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28896:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "28912:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28912:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28906:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28906:5:84"
                    },
                    "nativeSrc": "28906:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28906:9:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "28900:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28900:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28924:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28924:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "28974:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28974:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "28934:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "28934:39:84"
                    },
                    "nativeSrc": "28934:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28934:43:84"
                  },
                  "variables": [
                    {
                      "name": "_5",
                      "nativeSrc": "28928:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28928:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28986:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28986:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "29006:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29006:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29000:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29000:5:84"
                    },
                    "nativeSrc": "29000:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29000:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "28990:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28990:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29038:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29038:6:84"
                      },
                      {
                        "name": "_5",
                        "nativeSrc": "29046:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29046:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "29018:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "29018:19:84"
                    },
                    "nativeSrc": "29018:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29018:31:84"
                  },
                  "nativeSrc": "29018:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29018:31:84"
                },
                {
                  "nativeSrc": "29058:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29058:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29069:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29069:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "29062:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29062:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29091:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29091:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "29099:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29099:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29084:6:84"
                    },
                    "nativeSrc": "29084:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29084:18:84"
                  },
                  "nativeSrc": "29084:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29084:18:84"
                },
                {
                  "nativeSrc": "29111:22:84",
                  "nodeType": "YulAssignment",
                  "src": "29111:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29122:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29122:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29130:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29130:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29118:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29118:3:84"
                    },
                    "nativeSrc": "29118:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29118:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "29111:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29111:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "29142:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29142:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "29164:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29164:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29172:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29172:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_4",
                                "nativeSrc": "29175:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "29175:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29168:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29168:3:84"
                            },
                            "nativeSrc": "29168:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29168:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29160:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29160:3:84"
                        },
                        "nativeSrc": "29160:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29160:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29181:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29181:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29156:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29156:3:84"
                    },
                    "nativeSrc": "29156:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29156:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "29146:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29146:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29216:16:84",
                    "nodeType": "YulBlock",
                    "src": "29216:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29225:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29225:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29228:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29228:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29218:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29218:6:84"
                          },
                          "nativeSrc": "29218:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29218:12:84"
                        },
                        "nativeSrc": "29218:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29218:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29199:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29199:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "29207:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "29207:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29196:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29196:2:84"
                    },
                    "nativeSrc": "29196:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29196:19:84"
                  },
                  "nativeSrc": "29193:39:84",
                  "nodeType": "YulIf",
                  "src": "29193:39:84"
                },
                {
                  "nativeSrc": "29241:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29241:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "29256:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29256:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29252:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29252:3:84"
                    },
                    "nativeSrc": "29252:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29252:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "29245:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29245:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29328:301:84",
                    "nodeType": "YulBlock",
                    "src": "29328:301:84",
                    "statements": [
                      {
                        "nativeSrc": "29342:29:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29342:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29367:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29367:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "29361:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "29361:5:84"
                          },
                          "nativeSrc": "29361:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29361:10:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "29346:11:84",
                            "nodeType": "YulTypedName",
                            "src": "29346:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "29419:74:84",
                          "nodeType": "YulBlock",
                          "src": "29419:74:84",
                          "statements": [
                            {
                              "nativeSrc": "29437:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "29437:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "29447:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29447:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_6",
                                  "nativeSrc": "29441:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "29441:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29472:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29472:2:84"
                                  },
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29476:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29476:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "29465:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29465:6:84"
                                },
                                "nativeSrc": "29465:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "29465:14:84"
                              },
                              "nativeSrc": "29465:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "29465:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "29390:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "29390:11:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "29403:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29403:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "29387:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29387:2:84"
                          },
                          "nativeSrc": "29387:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29387:19:84"
                        },
                        "nativeSrc": "29384:109:84",
                        "nodeType": "YulIf",
                        "src": "29384:109:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29513:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29513:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "29555:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29555:2:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "29559:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29559:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "29551:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "29551:3:84"
                                      },
                                      "nativeSrc": "29551:20:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "29551:20:84"
                                    },
                                    {
                                      "name": "_1",
                                      "nativeSrc": "29573:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "29573:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "29547:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29547:3:84"
                                  },
                                  "nativeSrc": "29547:29:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29547:29:84"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "29578:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29578:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "29518:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "29518:28:84"
                              },
                              "nativeSrc": "29518:68:84",
                              "nodeType": "YulFunctionCall",
                              "src": "29518:68:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29506:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29506:6:84"
                          },
                          "nativeSrc": "29506:81:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29506:81:84"
                        },
                        "nativeSrc": "29506:81:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29506:81:84"
                      },
                      {
                        "nativeSrc": "29600:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29600:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29611:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29611:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29616:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29616:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29607:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29607:3:84"
                          },
                          "nativeSrc": "29607:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29607:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "29600:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29600:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "29283:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "29283:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29288:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29288:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29280:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29280:2:84"
                    },
                    "nativeSrc": "29280:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29280:15:84"
                  },
                  "nativeSrc": "29272:357:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29296:23:84",
                    "nodeType": "YulBlock",
                    "src": "29296:23:84",
                    "statements": [
                      {
                        "nativeSrc": "29298:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29298:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29309:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29309:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29314:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29314:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29305:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29305:3:84"
                          },
                          "nativeSrc": "29305:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29305:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "29298:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29298:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29276:3:84",
                    "nodeType": "YulBlock",
                    "src": "29276:3:84",
                    "statements": []
                  },
                  "src": "29272:357:84"
                },
                {
                  "nativeSrc": "29638:16:84",
                  "nodeType": "YulAssignment",
                  "src": "29638:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29648:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29648:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "29638:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29638:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "28465:1195:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28546:9:84",
                "nodeType": "YulTypedName",
                "src": "28546:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "28557:7:84",
                "nodeType": "YulTypedName",
                "src": "28557:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "28569:6:84",
                "nodeType": "YulTypedName",
                "src": "28569:6:84",
                "type": ""
              }
            ],
            "src": "28465:1195:84"
          },
          {
            "body": {
              "nativeSrc": "29839:231:84",
              "nodeType": "YulBlock",
              "src": "29839:231:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29856:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29856:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29867:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29867:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29849:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29849:6:84"
                    },
                    "nativeSrc": "29849:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29849:21:84"
                  },
                  "nativeSrc": "29849:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29849:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29890:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29890:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29901:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29901:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29886:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29886:3:84"
                        },
                        "nativeSrc": "29886:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29886:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29906:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29906:2:84",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29879:6:84"
                    },
                    "nativeSrc": "29879:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29879:30:84"
                  },
                  "nativeSrc": "29879:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29879:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29929:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29929:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29940:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29940:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29925:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29925:3:84"
                        },
                        "nativeSrc": "29925:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29925:18:84"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "29945:34:84",
                        "nodeType": "YulLiteral",
                        "src": "29945:34:84",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29918:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29918:6:84"
                    },
                    "nativeSrc": "29918:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29918:62:84"
                  },
                  "nativeSrc": "29918:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29918:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30000:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30000:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30011:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30011:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29996:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29996:3:84"
                        },
                        "nativeSrc": "29996:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29996:18:84"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "30016:11:84",
                        "nodeType": "YulLiteral",
                        "src": "30016:11:84",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29989:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29989:6:84"
                    },
                    "nativeSrc": "29989:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29989:39:84"
                  },
                  "nativeSrc": "29989:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29989:39:84"
                },
                {
                  "nativeSrc": "30037:27:84",
                  "nodeType": "YulAssignment",
                  "src": "30037:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30060:3:84",
                        "nodeType": "YulLiteral",
                        "src": "30060:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30045:3:84"
                    },
                    "nativeSrc": "30045:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30045:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30037:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "29665:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29816:9:84",
                "nodeType": "YulTypedName",
                "src": "29816:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29830:4:84",
                "nodeType": "YulTypedName",
                "src": "29830:4:84",
                "type": ""
              }
            ],
            "src": "29665:405:84"
          },
          {
            "body": {
              "nativeSrc": "30204:145:84",
              "nodeType": "YulBlock",
              "src": "30204:145:84",
              "statements": [
                {
                  "nativeSrc": "30214:26:84",
                  "nodeType": "YulAssignment",
                  "src": "30214:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30226:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30226:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30237:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30237:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30222:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30222:3:84"
                    },
                    "nativeSrc": "30222:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30222:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30214:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30214:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30256:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30256:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "30271:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30271:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30287:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30287:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30292:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30292:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "30283:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30283:3:84"
                                },
                                "nativeSrc": "30283:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30283:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30296:1:84",
                                "nodeType": "YulLiteral",
                                "src": "30296:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "30279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30279:3:84"
                            },
                            "nativeSrc": "30279:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30279:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30267:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30267:3:84"
                        },
                        "nativeSrc": "30267:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30267:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30249:6:84"
                    },
                    "nativeSrc": "30249:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30249:51:84"
                  },
                  "nativeSrc": "30249:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30249:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30320:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30320:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30331:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30331:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30316:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30316:3:84"
                        },
                        "nativeSrc": "30316:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30316:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "30336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30336:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30309:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30309:6:84"
                    },
                    "nativeSrc": "30309:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30309:34:84"
                  },
                  "nativeSrc": "30309:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30309:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
            "nativeSrc": "30075:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30165:9:84",
                "nodeType": "YulTypedName",
                "src": "30165:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30176:6:84",
                "nodeType": "YulTypedName",
                "src": "30176:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30184:6:84",
                "nodeType": "YulTypedName",
                "src": "30184:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "30195:4:84",
                "nodeType": "YulTypedName",
                "src": "30195:4:84",
                "type": ""
              }
            ],
            "src": "30075:274:84"
          },
          {
            "body": {
              "nativeSrc": "30434:169:84",
              "nodeType": "YulBlock",
              "src": "30434:169:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30480:16:84",
                    "nodeType": "YulBlock",
                    "src": "30480:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30489:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30489:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30492:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30492:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30482:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30482:6:84"
                          },
                          "nativeSrc": "30482:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30482:12:84"
                        },
                        "nativeSrc": "30482:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30482:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30455:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "30455:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "30464:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30464:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30451:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30451:3:84"
                        },
                        "nativeSrc": "30451:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30451:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30476:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30476:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30447:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30447:3:84"
                    },
                    "nativeSrc": "30447:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30447:32:84"
                  },
                  "nativeSrc": "30444:52:84",
                  "nodeType": "YulIf",
                  "src": "30444:52:84"
                },
                {
                  "nativeSrc": "30505:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30505:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30524:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30524:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30518:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30518:5:84"
                    },
                    "nativeSrc": "30518:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30518:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "30509:5:84",
                      "nodeType": "YulTypedName",
                      "src": "30509:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "30567:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30567:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "30543:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "30543:23:84"
                    },
                    "nativeSrc": "30543:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30543:30:84"
                  },
                  "nativeSrc": "30543:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30543:30:84"
                },
                {
                  "nativeSrc": "30582:15:84",
                  "nodeType": "YulAssignment",
                  "src": "30582:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "30592:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "30592:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "30582:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30582:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16_fromMemory",
            "nativeSrc": "30354:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30400:9:84",
                "nodeType": "YulTypedName",
                "src": "30400:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30411:7:84",
                "nodeType": "YulTypedName",
                "src": "30411:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30423:6:84",
                "nodeType": "YulTypedName",
                "src": "30423:6:84",
                "type": ""
              }
            ],
            "src": "30354:249:84"
          },
          {
            "body": {
              "nativeSrc": "30686:199:84",
              "nodeType": "YulBlock",
              "src": "30686:199:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30732:16:84",
                    "nodeType": "YulBlock",
                    "src": "30732:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30741:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30741:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30744:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30744:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30734:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30734:6:84"
                          },
                          "nativeSrc": "30734:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30734:12:84"
                        },
                        "nativeSrc": "30734:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30734:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30707:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "30707:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "30716:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30716:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30703:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30703:3:84"
                        },
                        "nativeSrc": "30703:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30703:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30728:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30728:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30699:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30699:3:84"
                    },
                    "nativeSrc": "30699:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30699:32:84"
                  },
                  "nativeSrc": "30696:52:84",
                  "nodeType": "YulIf",
                  "src": "30696:52:84"
                },
                {
                  "nativeSrc": "30757:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30757:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30776:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30776:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30770:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30770:5:84"
                    },
                    "nativeSrc": "30770:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30770:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "30761:5:84",
                      "nodeType": "YulTypedName",
                      "src": "30761:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30839:16:84",
                    "nodeType": "YulBlock",
                    "src": "30839:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30848:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30848:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30851:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30851:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30841:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30841:6:84"
                          },
                          "nativeSrc": "30841:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30841:12:84"
                        },
                        "nativeSrc": "30841:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30841:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "30808:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "30808:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "30829:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "30829:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "30822:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30822:6:84"
                                },
                                "nativeSrc": "30822:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30822:13:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "30815:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "30815:6:84"
                            },
                            "nativeSrc": "30815:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30815:21:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "30805:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "30805:2:84"
                        },
                        "nativeSrc": "30805:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30805:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "30798:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30798:6:84"
                    },
                    "nativeSrc": "30798:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30798:40:84"
                  },
                  "nativeSrc": "30795:60:84",
                  "nodeType": "YulIf",
                  "src": "30795:60:84"
                },
                {
                  "nativeSrc": "30864:15:84",
                  "nodeType": "YulAssignment",
                  "src": "30864:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "30874:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "30874:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "30864:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30864:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bool_fromMemory",
            "nativeSrc": "30608:277:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30652:9:84",
                "nodeType": "YulTypedName",
                "src": "30652:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30663:7:84",
                "nodeType": "YulTypedName",
                "src": "30663:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30675:6:84",
                "nodeType": "YulTypedName",
                "src": "30675:6:84",
                "type": ""
              }
            ],
            "src": "30608:277:84"
          },
          {
            "body": {
              "nativeSrc": "30945:65:84",
              "nodeType": "YulBlock",
              "src": "30945:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30962:1:84",
                        "nodeType": "YulLiteral",
                        "src": "30962:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "30965:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30965:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30955:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30955:6:84"
                    },
                    "nativeSrc": "30955:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30955:14:84"
                  },
                  "nativeSrc": "30955:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30955:14:84"
                },
                {
                  "nativeSrc": "30978:26:84",
                  "nodeType": "YulAssignment",
                  "src": "30978:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30996:1:84",
                        "nodeType": "YulLiteral",
                        "src": "30996:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30999:4:84",
                        "nodeType": "YulLiteral",
                        "src": "30999:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "30986:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "30986:9:84"
                    },
                    "nativeSrc": "30986:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30986:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "30978:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30978:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "30890:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "30928:3:84",
                "nodeType": "YulTypedName",
                "src": "30928:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "30936:4:84",
                "nodeType": "YulTypedName",
                "src": "30936:4:84",
                "type": ""
              }
            ],
            "src": "30890:120:84"
          },
          {
            "body": {
              "nativeSrc": "31095:462:84",
              "nodeType": "YulBlock",
              "src": "31095:462:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31128:423:84",
                    "nodeType": "YulBlock",
                    "src": "31128:423:84",
                    "statements": [
                      {
                        "nativeSrc": "31142:11:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31142:11:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "31152:1:84",
                          "nodeType": "YulLiteral",
                          "src": "31152:1:84",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "31146:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31146:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31173:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31173:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "31176:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "31176:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31166:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31166:6:84"
                          },
                          "nativeSrc": "31166:16:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31166:16:84"
                        },
                        "nativeSrc": "31166:16:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31166:16:84"
                      },
                      {
                        "nativeSrc": "31195:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31195:30:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31217:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31217:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31220:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31220:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "31207:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31207:9:84"
                          },
                          "nativeSrc": "31207:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31207:18:84"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "31199:4:84",
                            "nodeType": "YulTypedName",
                            "src": "31199:4:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31238:57:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31238:57:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31261:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31261:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31271:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31271:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "31278:10:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31278:10:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31290:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31290:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31274:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31274:3:84"
                                  },
                                  "nativeSrc": "31274:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31274:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31267:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31267:3:84"
                              },
                              "nativeSrc": "31267:27:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31267:27:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31257:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31257:3:84"
                          },
                          "nativeSrc": "31257:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31257:38:84"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "31242:11:84",
                            "nodeType": "YulTypedName",
                            "src": "31242:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "31332:23:84",
                          "nodeType": "YulBlock",
                          "src": "31332:23:84",
                          "statements": [
                            {
                              "nativeSrc": "31334:19:84",
                              "nodeType": "YulAssignment",
                              "src": "31334:19:84",
                              "value": {
                                "name": "data",
                                "nativeSrc": "31349:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "31349:4:84"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "31334:11:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31334:11:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "31314:10:84",
                              "nodeType": "YulIdentifier",
                              "src": "31314:10:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31326:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31326:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "31311:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31311:2:84"
                          },
                          "nativeSrc": "31311:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31311:20:84"
                        },
                        "nativeSrc": "31308:47:84",
                        "nodeType": "YulIf",
                        "src": "31308:47:84"
                      },
                      {
                        "nativeSrc": "31368:41:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31368:41:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31382:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31382:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31392:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31392:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "31399:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31399:3:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31404:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31404:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31395:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31395:3:84"
                                  },
                                  "nativeSrc": "31395:12:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31395:12:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31388:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31388:3:84"
                              },
                              "nativeSrc": "31388:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31388:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31378:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31378:3:84"
                          },
                          "nativeSrc": "31378:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31378:31:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "31372:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31372:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31422:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31422:24:84",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "31435:11:84",
                          "nodeType": "YulIdentifier",
                          "src": "31435:11:84"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "31426:5:84",
                            "nodeType": "YulTypedName",
                            "src": "31426:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "31520:21:84",
                          "nodeType": "YulBlock",
                          "src": "31520:21:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "31529:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31529:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "31536:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31536:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "31522:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31522:6:84"
                                },
                                "nativeSrc": "31522:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31522:17:84"
                              },
                              "nativeSrc": "31522:17:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "31522:17:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "31470:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "31470:5:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "31477:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "31477:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "31467:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31467:2:84"
                          },
                          "nativeSrc": "31467:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31467:13:84"
                        },
                        "nativeSrc": "31459:82:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "31481:26:84",
                          "nodeType": "YulBlock",
                          "src": "31481:26:84",
                          "statements": [
                            {
                              "nativeSrc": "31483:22:84",
                              "nodeType": "YulAssignment",
                              "src": "31483:22:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "31496:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31496:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "31503:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "31503:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "31492:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31492:3:84"
                                },
                                "nativeSrc": "31492:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31492:13:84"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "31483:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31483:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "31463:3:84",
                          "nodeType": "YulBlock",
                          "src": "31463:3:84",
                          "statements": []
                        },
                        "src": "31459:82:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "31111:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31111:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31116:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31116:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31108:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31108:2:84"
                    },
                    "nativeSrc": "31108:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31108:11:84"
                  },
                  "nativeSrc": "31105:446:84",
                  "nodeType": "YulIf",
                  "src": "31105:446:84"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_bytes_storage",
            "nativeSrc": "31015:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "31067:5:84",
                "nodeType": "YulTypedName",
                "src": "31067:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31074:3:84",
                "nodeType": "YulTypedName",
                "src": "31074:3:84",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "31079:10:84",
                "nodeType": "YulTypedName",
                "src": "31079:10:84",
                "type": ""
              }
            ],
            "src": "31015:542:84"
          },
          {
            "body": {
              "nativeSrc": "31647:81:84",
              "nodeType": "YulBlock",
              "src": "31647:81:84",
              "statements": [
                {
                  "nativeSrc": "31657:65:84",
                  "nodeType": "YulAssignment",
                  "src": "31657:65:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "31672:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "31672:4:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "31690:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "31690:1:84",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "31693:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "31693:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "31686:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31686:3:84"
                                    },
                                    "nativeSrc": "31686:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "31686:11:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "31703:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "31703:1:84",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "31699:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31699:3:84"
                                    },
                                    "nativeSrc": "31699:6:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "31699:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "31682:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31682:3:84"
                                },
                                "nativeSrc": "31682:24:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31682:24:84"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "31678:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "31678:3:84"
                            },
                            "nativeSrc": "31678:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "31678:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31668:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31668:3:84"
                        },
                        "nativeSrc": "31668:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31668:40:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "31714:1:84",
                            "nodeType": "YulLiteral",
                            "src": "31714:1:84",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "31717:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31717:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "31710:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31710:3:84"
                        },
                        "nativeSrc": "31710:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31710:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "31665:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31665:2:84"
                    },
                    "nativeSrc": "31665:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31665:57:84"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "31657:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "31657:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "31562:166:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "31624:4:84",
                "nodeType": "YulTypedName",
                "src": "31624:4:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31630:3:84",
                "nodeType": "YulTypedName",
                "src": "31630:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "31638:4:84",
                "nodeType": "YulTypedName",
                "src": "31638:4:84",
                "type": ""
              }
            ],
            "src": "31562:166:84"
          },
          {
            "body": {
              "nativeSrc": "31834:1101:84",
              "nodeType": "YulBlock",
              "src": "31834:1101:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31875:22:84",
                    "nodeType": "YulBlock",
                    "src": "31875:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "31877:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "31877:16:84"
                          },
                          "nativeSrc": "31877:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31877:18:84"
                        },
                        "nativeSrc": "31877:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31877:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "31850:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31850:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31855:18:84",
                        "nodeType": "YulLiteral",
                        "src": "31855:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31847:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31847:2:84"
                    },
                    "nativeSrc": "31847:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31847:27:84"
                  },
                  "nativeSrc": "31844:53:84",
                  "nodeType": "YulIf",
                  "src": "31844:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "31949:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "31949:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "31987:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "31987:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "31981:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "31981:5:84"
                            },
                            "nativeSrc": "31981:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "31981:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "31955:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "31955:25:84"
                        },
                        "nativeSrc": "31955:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31955:38:84"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "31995:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31995:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "31906:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "31906:42:84"
                    },
                    "nativeSrc": "31906:93:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31906:93:84"
                  },
                  "nativeSrc": "31906:93:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31906:93:84"
                },
                {
                  "nativeSrc": "32008:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32008:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "32025:1:84",
                    "nodeType": "YulLiteral",
                    "src": "32025:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "32012:9:84",
                      "nodeType": "YulTypedName",
                      "src": "32012:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "32069:608:84",
                        "nodeType": "YulBlock",
                        "src": "32069:608:84",
                        "statements": [
                          {
                            "nativeSrc": "32083:32:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32083:32:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "32102:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32102:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32111:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32111:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "32107:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32107:3:84"
                                  },
                                  "nativeSrc": "32107:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32107:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "32098:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32098:3:84"
                              },
                              "nativeSrc": "32098:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32098:17:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "32087:7:84",
                                "nodeType": "YulTypedName",
                                "src": "32087:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32128:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32128:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "32171:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32171:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "32142:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "32142:28:84"
                              },
                              "nativeSrc": "32142:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32142:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "32132:6:84",
                                "nodeType": "YulTypedName",
                                "src": "32132:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32189:18:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32189:18:84",
                            "value": {
                              "name": "srcOffset",
                              "nativeSrc": "32198:9:84",
                              "nodeType": "YulIdentifier",
                              "src": "32198:9:84"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "32193:1:84",
                                "nodeType": "YulTypedName",
                                "src": "32193:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "32277:172:84",
                              "nodeType": "YulBlock",
                              "src": "32277:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32302:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32302:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "32327:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "32327:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "32332:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "32332:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "32323:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "32323:3:84"
                                            },
                                            "nativeSrc": "32323:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "32323:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "32310:12:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "32310:12:84"
                                        },
                                        "nativeSrc": "32310:33:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "32310:33:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "32295:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32295:6:84"
                                    },
                                    "nativeSrc": "32295:49:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32295:49:84"
                                  },
                                  "nativeSrc": "32295:49:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "32295:49:84"
                                },
                                {
                                  "nativeSrc": "32361:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32361:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32375:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32375:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32383:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32383:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32371:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32371:3:84"
                                    },
                                    "nativeSrc": "32371:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32371:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "32361:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32361:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "32402:33:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32402:33:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "32419:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32419:9:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32430:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32430:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32415:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32415:3:84"
                                    },
                                    "nativeSrc": "32415:20:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32415:20:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "32402:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32402:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "32231:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32231:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "32234:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32234:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "32228:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "32228:2:84"
                              },
                              "nativeSrc": "32228:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32228:14:84"
                            },
                            "nativeSrc": "32220:229:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "32243:21:84",
                              "nodeType": "YulBlock",
                              "src": "32243:21:84",
                              "statements": [
                                {
                                  "nativeSrc": "32245:17:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32245:17:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "32254:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32254:1:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32257:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32257:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32250:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32250:3:84"
                                    },
                                    "nativeSrc": "32250:12:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32250:12:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "32245:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32245:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "32224:3:84",
                              "nodeType": "YulBlock",
                              "src": "32224:3:84",
                              "statements": []
                            },
                            "src": "32220:229:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "32494:127:84",
                              "nodeType": "YulBlock",
                              "src": "32494:127:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32519:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32519:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "32548:3:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "32548:3:84"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "32553:9:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "32553:9:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "32544:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "32544:3:84"
                                                },
                                                "nativeSrc": "32544:19:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "32544:19:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "32531:12:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "32531:12:84"
                                            },
                                            "nativeSrc": "32531:33:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "32531:33:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "32582:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "32582:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "32585:3:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "32585:3:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "32578:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "32578:3:84"
                                                        },
                                                        "nativeSrc": "32578:11:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "32578:11:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "32591:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "32591:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "32574:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "32574:3:84"
                                                    },
                                                    "nativeSrc": "32574:21:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "32574:21:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "32601:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "32601:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "32597:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "32597:3:84"
                                                    },
                                                    "nativeSrc": "32597:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "32597:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "32570:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "32570:3:84"
                                                },
                                                "nativeSrc": "32570:34:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "32570:34:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "32566:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "32566:3:84"
                                            },
                                            "nativeSrc": "32566:39:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "32566:39:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "32527:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "32527:3:84"
                                        },
                                        "nativeSrc": "32527:79:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "32527:79:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "32512:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32512:6:84"
                                    },
                                    "nativeSrc": "32512:95:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32512:95:84"
                                  },
                                  "nativeSrc": "32512:95:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "32512:95:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "32468:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32468:7:84"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "32477:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32477:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "32465:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "32465:2:84"
                              },
                              "nativeSrc": "32465:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32465:16:84"
                            },
                            "nativeSrc": "32462:159:84",
                            "nodeType": "YulIf",
                            "src": "32462:159:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "32641:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32641:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "32655:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "32655:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "32658:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "32658:3:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "32651:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32651:3:84"
                                      },
                                      "nativeSrc": "32651:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "32651:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32664:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32664:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "32647:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32647:3:84"
                                  },
                                  "nativeSrc": "32647:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32647:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "32634:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "32634:6:84"
                              },
                              "nativeSrc": "32634:33:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32634:33:84"
                            },
                            "nativeSrc": "32634:33:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "32634:33:84"
                          }
                        ]
                      },
                      "nativeSrc": "32062:615:84",
                      "nodeType": "YulCase",
                      "src": "32062:615:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "32067:1:84",
                        "nodeType": "YulLiteral",
                        "src": "32067:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "32694:235:84",
                        "nodeType": "YulBlock",
                        "src": "32694:235:84",
                        "statements": [
                          {
                            "nativeSrc": "32708:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32708:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "32721:1:84",
                              "nodeType": "YulLiteral",
                              "src": "32721:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "32712:5:84",
                                "nodeType": "YulTypedName",
                                "src": "32712:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "32754:74:84",
                              "nodeType": "YulBlock",
                              "src": "32754:74:84",
                              "statements": [
                                {
                                  "nativeSrc": "32772:42:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32772:42:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "32798:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "32798:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "32803:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "32803:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "32794:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "32794:3:84"
                                        },
                                        "nativeSrc": "32794:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "32794:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "32781:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32781:12:84"
                                    },
                                    "nativeSrc": "32781:33:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32781:33:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "32772:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32772:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "32738:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32738:3:84"
                            },
                            "nativeSrc": "32735:93:84",
                            "nodeType": "YulIf",
                            "src": "32735:93:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "32848:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32848:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "32907:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32907:5:84"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "32914:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32914:3:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "32854:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32854:52:84"
                                  },
                                  "nativeSrc": "32854:64:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32854:64:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "32841:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "32841:6:84"
                              },
                              "nativeSrc": "32841:78:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32841:78:84"
                            },
                            "nativeSrc": "32841:78:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "32841:78:84"
                          }
                        ]
                      },
                      "nativeSrc": "32686:243:84",
                      "nodeType": "YulCase",
                      "src": "32686:243:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32045:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32045:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32050:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32050:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32042:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32042:2:84"
                    },
                    "nativeSrc": "32042:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32042:11:84"
                  },
                  "nativeSrc": "32035:894:84",
                  "nodeType": "YulSwitch",
                  "src": "32035:894:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage",
            "nativeSrc": "31733:1202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "31814:4:84",
                "nodeType": "YulTypedName",
                "src": "31814:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "31820:3:84",
                "nodeType": "YulTypedName",
                "src": "31820:3:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31825:3:84",
                "nodeType": "YulTypedName",
                "src": "31825:3:84",
                "type": ""
              }
            ],
            "src": "31733:1202:84"
          },
          {
            "body": {
              "nativeSrc": "33110:911:84",
              "nodeType": "YulBlock",
              "src": "33110:911:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "33151:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33151:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "33159:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33159:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "33120:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "33120:30:84"
                    },
                    "nativeSrc": "33120:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33120:49:84"
                  },
                  "nativeSrc": "33120:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33120:49:84"
                },
                {
                  "nativeSrc": "33178:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33178:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33188:2:84",
                    "nodeType": "YulLiteral",
                    "src": "33188:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "33182:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33182:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33210:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33210:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33221:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33221:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33206:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33206:3:84"
                        },
                        "nativeSrc": "33206:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33206:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33226:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33226:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33199:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33199:6:84"
                    },
                    "nativeSrc": "33199:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33199:30:84"
                  },
                  "nativeSrc": "33199:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33199:30:84"
                },
                {
                  "nativeSrc": "33238:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33238:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33249:1:84",
                    "nodeType": "YulLiteral",
                    "src": "33249:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "33242:3:84",
                      "nodeType": "YulTypedName",
                      "src": "33242:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33259:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33259:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "33282:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33282:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "33276:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "33276:5:84"
                    },
                    "nativeSrc": "33276:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33276:13:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "33263:9:84",
                      "nodeType": "YulTypedName",
                      "src": "33263:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33298:50:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33298:50:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "33338:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33338:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "extract_byte_array_length",
                      "nativeSrc": "33312:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "33312:25:84"
                    },
                    "nativeSrc": "33312:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33312:36:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "33302:6:84",
                      "nodeType": "YulTypedName",
                      "src": "33302:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33368:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33368:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33379:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33379:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33364:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33364:3:84"
                        },
                        "nativeSrc": "33364:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33364:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "33384:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33384:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33357:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33357:6:84"
                    },
                    "nativeSrc": "33357:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33357:34:84"
                  },
                  "nativeSrc": "33357:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33357:34:84"
                },
                {
                  "nativeSrc": "33400:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33400:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33410:2:84",
                    "nodeType": "YulLiteral",
                    "src": "33410:2:84",
                    "type": "",
                    "value": "96"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "33404:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33404:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33421:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33421:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33431:1:84",
                    "nodeType": "YulLiteral",
                    "src": "33431:1:84",
                    "type": "",
                    "value": "1"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "33425:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33425:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "33481:151:84",
                        "nodeType": "YulBlock",
                        "src": "33481:151:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "33506:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33506:9:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "33517:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "33517:2:84",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33502:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33502:3:84"
                                  },
                                  "nativeSrc": "33502:18:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33502:18:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "33526:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33526:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "33541:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "33541:3:84",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "33537:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33537:3:84"
                                      },
                                      "nativeSrc": "33537:8:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "33537:8:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "33522:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33522:3:84"
                                  },
                                  "nativeSrc": "33522:24:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33522:24:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "33495:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33495:6:84"
                              },
                              "nativeSrc": "33495:52:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33495:52:84"
                            },
                            "nativeSrc": "33495:52:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33495:52:84"
                          },
                          {
                            "nativeSrc": "33560:62:84",
                            "nodeType": "YulAssignment",
                            "src": "33560:62:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "33575:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33575:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "33590:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "33590:1:84",
                                          "type": "",
                                          "value": "5"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "name": "length",
                                                  "nativeSrc": "33607:6:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33607:6:84"
                                                }
                                              ],
                                              "functionName": {
                                                "name": "iszero",
                                                "nativeSrc": "33600:6:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33600:6:84"
                                              },
                                              "nativeSrc": "33600:14:84",
                                              "nodeType": "YulFunctionCall",
                                              "src": "33600:14:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "33593:6:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33593:6:84"
                                          },
                                          "nativeSrc": "33593:22:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "33593:22:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "33586:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33586:3:84"
                                      },
                                      "nativeSrc": "33586:30:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "33586:30:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33571:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33571:3:84"
                                  },
                                  "nativeSrc": "33571:46:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33571:46:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "33619:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "33619:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "33567:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "33567:3:84"
                              },
                              "nativeSrc": "33567:55:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33567:55:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "33560:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "33560:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "33474:158:84",
                      "nodeType": "YulCase",
                      "src": "33474:158:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "33479:1:84",
                        "nodeType": "YulLiteral",
                        "src": "33479:1:84",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "33648:347:84",
                        "nodeType": "YulBlock",
                        "src": "33648:347:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "33669:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "33669:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "name": "value1",
                                  "nativeSrc": "33672:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33672:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "33662:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33662:6:84"
                              },
                              "nativeSrc": "33662:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33662:17:84"
                            },
                            "nativeSrc": "33662:17:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33662:17:84"
                          },
                          {
                            "nativeSrc": "33692:31:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33692:31:84",
                            "value": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "33717:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "33717:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "33720:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "33720:2:84",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "keccak256",
                                "nativeSrc": "33707:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "33707:9:84"
                              },
                              "nativeSrc": "33707:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33707:16:84"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "33696:7:84",
                                "nodeType": "YulTypedName",
                                "src": "33696:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "33736:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33736:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "33745:1:84",
                              "nodeType": "YulLiteral",
                              "src": "33745:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "33740:1:84",
                                "nodeType": "YulTypedName",
                                "src": "33740:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "33813:126:84",
                              "nodeType": "YulBlock",
                              "src": "33813:126:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "headStart",
                                                "nativeSrc": "33846:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33846:9:84"
                                              },
                                              {
                                                "name": "i",
                                                "nativeSrc": "33857:1:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33857:1:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "33842:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33842:3:84"
                                            },
                                            "nativeSrc": "33842:17:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33842:17:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "33861:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33861:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "33838:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33838:3:84"
                                        },
                                        "nativeSrc": "33838:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33838:26:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "33872:7:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33872:7:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "33866:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33866:5:84"
                                        },
                                        "nativeSrc": "33866:14:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33866:14:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "33831:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33831:6:84"
                                    },
                                    "nativeSrc": "33831:50:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33831:50:84"
                                  },
                                  "nativeSrc": "33831:50:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33831:50:84"
                                },
                                {
                                  "nativeSrc": "33898:27:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33898:27:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "33913:7:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33913:7:84"
                                      },
                                      {
                                        "name": "_3",
                                        "nativeSrc": "33922:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33922:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33909:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33909:3:84"
                                    },
                                    "nativeSrc": "33909:16:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33909:16:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "33898:7:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33898:7:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "33770:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33770:1:84"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "33773:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33773:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "33767:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "33767:2:84"
                              },
                              "nativeSrc": "33767:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33767:13:84"
                            },
                            "nativeSrc": "33759:180:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "33781:19:84",
                              "nodeType": "YulBlock",
                              "src": "33781:19:84",
                              "statements": [
                                {
                                  "nativeSrc": "33783:15:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33783:15:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "33792:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33792:1:84"
                                      },
                                      {
                                        "name": "_1",
                                        "nativeSrc": "33795:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33795:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33788:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33788:3:84"
                                    },
                                    "nativeSrc": "33788:10:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33788:10:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "33783:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33783:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "33763:3:84",
                              "nodeType": "YulBlock",
                              "src": "33763:3:84",
                              "statements": []
                            },
                            "src": "33759:180:84"
                          },
                          {
                            "nativeSrc": "33952:33:84",
                            "nodeType": "YulAssignment",
                            "src": "33952:33:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "33967:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33967:9:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "33978:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33978:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33963:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33963:3:84"
                                  },
                                  "nativeSrc": "33963:17:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33963:17:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "33982:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "33982:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "33959:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "33959:3:84"
                              },
                              "nativeSrc": "33959:26:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33959:26:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "33952:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "33952:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "33641:354:84",
                      "nodeType": "YulCase",
                      "src": "33641:354:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "33646:1:84",
                        "nodeType": "YulLiteral",
                        "src": "33646:1:84",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "33452:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33452:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33463:1:84",
                        "nodeType": "YulLiteral",
                        "src": "33463:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "33448:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33448:3:84"
                    },
                    "nativeSrc": "33448:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33448:17:84"
                  },
                  "nativeSrc": "33441:554:84",
                  "nodeType": "YulSwitch",
                  "src": "33441:554:84"
                },
                {
                  "nativeSrc": "34004:11:84",
                  "nodeType": "YulAssignment",
                  "src": "34004:11:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "34012:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "34012:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34004:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34004:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "32940:1081:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33071:9:84",
                "nodeType": "YulTypedName",
                "src": "33071:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33082:6:84",
                "nodeType": "YulTypedName",
                "src": "33082:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33090:6:84",
                "nodeType": "YulTypedName",
                "src": "33090:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33101:4:84",
                "nodeType": "YulTypedName",
                "src": "33101:4:84",
                "type": ""
              }
            ],
            "src": "32940:1081:84"
          },
          {
            "body": {
              "nativeSrc": "34137:791:84",
              "nodeType": "YulBlock",
              "src": "34137:791:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34183:16:84",
                    "nodeType": "YulBlock",
                    "src": "34183:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34192:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34192:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34195:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34195:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34185:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34185:6:84"
                          },
                          "nativeSrc": "34185:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34185:12:84"
                        },
                        "nativeSrc": "34185:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34185:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34158:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34158:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34167:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34167:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34154:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34154:3:84"
                        },
                        "nativeSrc": "34154:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34154:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34179:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34179:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34150:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34150:3:84"
                    },
                    "nativeSrc": "34150:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34150:32:84"
                  },
                  "nativeSrc": "34147:52:84",
                  "nodeType": "YulIf",
                  "src": "34147:52:84"
                },
                {
                  "nativeSrc": "34208:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34208:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34228:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34228:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34222:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34222:5:84"
                    },
                    "nativeSrc": "34222:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34222:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "34212:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34212:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34247:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34247:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34257:18:84",
                    "nodeType": "YulLiteral",
                    "src": "34257:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34251:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34251:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34302:16:84",
                    "nodeType": "YulBlock",
                    "src": "34302:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34311:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34311:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34314:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34314:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34304:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34304:6:84"
                          },
                          "nativeSrc": "34304:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34304:12:84"
                        },
                        "nativeSrc": "34304:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34304:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34290:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34290:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "34298:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "34298:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34287:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34287:2:84"
                    },
                    "nativeSrc": "34287:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34287:14:84"
                  },
                  "nativeSrc": "34284:34:84",
                  "nodeType": "YulIf",
                  "src": "34284:34:84"
                },
                {
                  "nativeSrc": "34327:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34327:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34341:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34341:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "34352:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34352:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34337:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34337:3:84"
                    },
                    "nativeSrc": "34337:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34337:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "34331:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34331:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34399:16:84",
                    "nodeType": "YulBlock",
                    "src": "34399:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34408:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34408:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34411:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34411:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34401:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34401:6:84"
                          },
                          "nativeSrc": "34401:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34401:12:84"
                        },
                        "nativeSrc": "34401:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34401:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34379:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34379:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "34388:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "34388:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34375:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34375:3:84"
                        },
                        "nativeSrc": "34375:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34375:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34393:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34393:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34371:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34371:3:84"
                    },
                    "nativeSrc": "34371:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34371:27:84"
                  },
                  "nativeSrc": "34368:47:84",
                  "nodeType": "YulIf",
                  "src": "34368:47:84"
                },
                {
                  "nativeSrc": "34424:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34424:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34444:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34444:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34438:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34438:5:84"
                    },
                    "nativeSrc": "34438:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34438:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "34428:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34428:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34458:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34458:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "34480:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34480:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34488:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34488:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34476:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34476:3:84"
                    },
                    "nativeSrc": "34476:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34476:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "34462:10:84",
                      "nodeType": "YulTypedName",
                      "src": "34462:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34552:22:84",
                    "nodeType": "YulBlock",
                    "src": "34552:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "34554:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "34554:16:84"
                          },
                          "nativeSrc": "34554:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34554:18:84"
                        },
                        "nativeSrc": "34554:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34554:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "34511:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "34511:10:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "34523:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "34523:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "34508:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "34508:2:84"
                        },
                        "nativeSrc": "34508:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34508:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "34531:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "34531:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "34543:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34543:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "34528:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "34528:2:84"
                        },
                        "nativeSrc": "34528:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34528:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "34505:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34505:2:84"
                    },
                    "nativeSrc": "34505:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34505:46:84"
                  },
                  "nativeSrc": "34502:72:84",
                  "nodeType": "YulIf",
                  "src": "34502:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34590:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34590:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "34596:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "34596:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34583:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34583:6:84"
                    },
                    "nativeSrc": "34583:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34583:24:84"
                  },
                  "nativeSrc": "34583:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34583:24:84"
                },
                {
                  "nativeSrc": "34616:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34616:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "34635:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "34635:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34629:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34629:5:84"
                    },
                    "nativeSrc": "34629:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34629:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "34620:5:84",
                      "nodeType": "YulTypedName",
                      "src": "34620:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34673:16:84",
                    "nodeType": "YulBlock",
                    "src": "34673:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34682:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34682:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34685:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34685:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34675:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34675:6:84"
                          },
                          "nativeSrc": "34675:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34675:12:84"
                        },
                        "nativeSrc": "34675:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34675:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "34660:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "34660:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34667:3:84",
                            "nodeType": "YulLiteral",
                            "src": "34667:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "34657:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "34657:2:84"
                        },
                        "nativeSrc": "34657:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34657:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34650:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34650:6:84"
                    },
                    "nativeSrc": "34650:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34650:22:84"
                  },
                  "nativeSrc": "34647:42:84",
                  "nodeType": "YulIf",
                  "src": "34647:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "34705:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34705:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "34713:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "34713:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34698:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34698:6:84"
                    },
                    "nativeSrc": "34698:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34698:21:84"
                  },
                  "nativeSrc": "34698:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34698:21:84"
                },
                {
                  "nativeSrc": "34728:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34728:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "34754:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "34754:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34758:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34758:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34750:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34750:3:84"
                        },
                        "nativeSrc": "34750:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34750:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34744:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34744:5:84"
                    },
                    "nativeSrc": "34744:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34744:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "34732:8:84",
                      "nodeType": "YulTypedName",
                      "src": "34732:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34791:16:84",
                    "nodeType": "YulBlock",
                    "src": "34791:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34800:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34800:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34803:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34803:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34793:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34793:6:84"
                          },
                          "nativeSrc": "34793:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34793:12:84"
                        },
                        "nativeSrc": "34793:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34793:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "34777:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "34777:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "34787:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "34787:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34774:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34774:2:84"
                    },
                    "nativeSrc": "34774:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34774:16:84"
                  },
                  "nativeSrc": "34771:36:84",
                  "nodeType": "YulIf",
                  "src": "34771:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "34827:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34827:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34835:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34835:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34823:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34823:3:84"
                        },
                        "nativeSrc": "34823:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34823:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "34873:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "34873:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "34877:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "34877:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "34869:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "34869:3:84"
                            },
                            "nativeSrc": "34869:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "34869:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34888:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34888:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "34840:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "34840:28:84"
                        },
                        "nativeSrc": "34840:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34840:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34816:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34816:6:84"
                    },
                    "nativeSrc": "34816:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34816:81:84"
                  },
                  "nativeSrc": "34816:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34816:81:84"
                },
                {
                  "nativeSrc": "34906:16:84",
                  "nodeType": "YulAssignment",
                  "src": "34906:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "34916:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "34916:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "34906:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34906:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory",
            "nativeSrc": "34026:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34103:9:84",
                "nodeType": "YulTypedName",
                "src": "34103:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34114:7:84",
                "nodeType": "YulTypedName",
                "src": "34114:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34126:6:84",
                "nodeType": "YulTypedName",
                "src": "34126:6:84",
                "type": ""
              }
            ],
            "src": "34026:902:84"
          },
          {
            "body": {
              "nativeSrc": "34976:136:84",
              "nodeType": "YulBlock",
              "src": "34976:136:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35021:85:84",
                    "nodeType": "YulBlock",
                    "src": "35021:85:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35050:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35050:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35053:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35053:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35056:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35056:1:84",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "35035:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "35035:14:84"
                          },
                          "nativeSrc": "35035:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35035:23:84"
                        },
                        "nativeSrc": "35035:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35035:23:84"
                      },
                      {
                        "nativeSrc": "35071:25:84",
                        "nodeType": "YulAssignment",
                        "src": "35071:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35082:3:84",
                              "nodeType": "YulLiteral",
                              "src": "35082:3:84",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "35093:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "35093:1:84",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "35087:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "35087:5:84"
                              },
                              "nativeSrc": "35087:8:84",
                              "nodeType": "YulFunctionCall",
                              "src": "35087:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "35078:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35078:3:84"
                          },
                          "nativeSrc": "35078:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35078:18:84"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "35071:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35071:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "34992:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "34992:14:84"
                        },
                        "nativeSrc": "34992:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34992:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35010:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35010:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34989:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34989:2:84"
                    },
                    "nativeSrc": "34989:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34989:23:84"
                  },
                  "nativeSrc": "34986:120:84",
                  "nodeType": "YulIf",
                  "src": "34986:120:84"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "34933:179:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "34968:3:84",
                "nodeType": "YulTypedName",
                "src": "34968:3:84",
                "type": ""
              }
            ],
            "src": "34933:179:84"
          },
          {
            "body": {
              "nativeSrc": "35164:624:84",
              "nodeType": "YulBlock",
              "src": "35164:624:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35204:9:84",
                    "nodeType": "YulBlock",
                    "src": "35204:9:84",
                    "statements": [
                      {
                        "nativeSrc": "35206:5:84",
                        "nodeType": "YulLeave",
                        "src": "35206:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "35180:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "35180:14:84"
                        },
                        "nativeSrc": "35180:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35180:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35198:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35198:4:84",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "35177:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35177:2:84"
                    },
                    "nativeSrc": "35177:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35177:26:84"
                  },
                  "nativeSrc": "35174:39:84",
                  "nodeType": "YulIf",
                  "src": "35174:39:84"
                },
                {
                  "nativeSrc": "35222:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35222:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35240:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35240:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35234:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35234:5:84"
                    },
                    "nativeSrc": "35234:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35234:9:84"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "35226:4:84",
                      "nodeType": "YulTypedName",
                      "src": "35226:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35252:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35252:16:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35266:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35266:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "35262:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35262:3:84"
                    },
                    "nativeSrc": "35262:6:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35262:6:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "35256:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35256:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "35292:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35292:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35298:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35298:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "35305:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "35305:14:84"
                            },
                            "nativeSrc": "35305:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35305:16:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35323:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35323:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35301:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35301:3:84"
                        },
                        "nativeSrc": "35301:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35301:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "35277:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "35277:14:84"
                    },
                    "nativeSrc": "35277:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35277:50:84"
                  },
                  "nativeSrc": "35277:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35277:50:84"
                },
                {
                  "nativeSrc": "35336:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35336:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "35356:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35356:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35350:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35350:5:84"
                    },
                    "nativeSrc": "35350:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35350:11:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "35340:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35340:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35370:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35370:26:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "returndatasize",
                      "nativeSrc": "35380:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "35380:14:84"
                    },
                    "nativeSrc": "35380:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35380:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "35374:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35374:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35405:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35405:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "35415:18:84",
                    "nodeType": "YulLiteral",
                    "src": "35415:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "35409:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35409:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35491:9:84",
                    "nodeType": "YulBlock",
                    "src": "35491:9:84",
                    "statements": [
                      {
                        "nativeSrc": "35493:5:84",
                        "nodeType": "YulLeave",
                        "src": "35493:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "35451:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35451:6:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "35459:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35459:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "35448:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35448:2:84"
                        },
                        "nativeSrc": "35448:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35448:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "35471:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "35471:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "35479:4:84",
                                "nodeType": "YulLiteral",
                                "src": "35479:4:84",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35467:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35467:3:84"
                            },
                            "nativeSrc": "35467:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35467:17:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "35486:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35486:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "35464:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35464:2:84"
                        },
                        "nativeSrc": "35464:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35464:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "35445:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35445:2:84"
                    },
                    "nativeSrc": "35445:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35445:45:84"
                  },
                  "nativeSrc": "35442:58:84",
                  "nodeType": "YulIf",
                  "src": "35442:58:84"
                },
                {
                  "nativeSrc": "35509:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35509:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "35524:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35524:4:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "35530:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35530:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35520:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35520:3:84"
                    },
                    "nativeSrc": "35520:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35520:17:84"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "35513:3:84",
                      "nodeType": "YulTypedName",
                      "src": "35513:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35546:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35546:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "35566:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "35566:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35560:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35560:5:84"
                    },
                    "nativeSrc": "35560:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35560:10:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "35550:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35550:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35597:9:84",
                    "nodeType": "YulBlock",
                    "src": "35597:9:84",
                    "statements": [
                      {
                        "nativeSrc": "35599:5:84",
                        "nodeType": "YulLeave",
                        "src": "35599:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "35585:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35585:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "35593:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35593:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35582:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35582:2:84"
                    },
                    "nativeSrc": "35582:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35582:14:84"
                  },
                  "nativeSrc": "35579:27:84",
                  "nodeType": "YulIf",
                  "src": "35579:27:84"
                },
                {
                  "body": {
                    "nativeSrc": "35688:9:84",
                    "nodeType": "YulBlock",
                    "src": "35688:9:84",
                    "statements": [
                      {
                        "nativeSrc": "35690:5:84",
                        "nodeType": "YulLeave",
                        "src": "35690:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "35629:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "35629:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "35634:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "35634:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35625:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35625:3:84"
                            },
                            "nativeSrc": "35625:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35625:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35643:4:84",
                            "nodeType": "YulLiteral",
                            "src": "35643:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35621:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35621:3:84"
                        },
                        "nativeSrc": "35621:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35621:27:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "35658:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "35658:4:84"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "35664:14:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "35664:14:84"
                                },
                                "nativeSrc": "35664:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "35664:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35654:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35654:3:84"
                            },
                            "nativeSrc": "35654:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35654:27:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35683:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35683:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35650:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35650:3:84"
                        },
                        "nativeSrc": "35650:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35650:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35618:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35618:2:84"
                    },
                    "nativeSrc": "35618:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35618:69:84"
                  },
                  "nativeSrc": "35615:82:84",
                  "nodeType": "YulIf",
                  "src": "35615:82:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "35726:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35726:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "35740:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "35740:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "35748:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "35748:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35736:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35736:3:84"
                            },
                            "nativeSrc": "35736:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35736:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35757:4:84",
                            "nodeType": "YulLiteral",
                            "src": "35757:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35732:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35732:3:84"
                        },
                        "nativeSrc": "35732:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35732:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "35706:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "35706:19:84"
                    },
                    "nativeSrc": "35706:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35706:57:84"
                  },
                  "nativeSrc": "35706:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35706:57:84"
                },
                {
                  "nativeSrc": "35772:10:84",
                  "nodeType": "YulAssignment",
                  "src": "35772:10:84",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "35779:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "35779:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "35772:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35772:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "35117:671:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "35156:3:84",
                "nodeType": "YulTypedName",
                "src": "35156:3:84",
                "type": ""
              }
            ],
            "src": "35117:671:84"
          },
          {
            "body": {
              "nativeSrc": "36033:209:84",
              "nodeType": "YulBlock",
              "src": "36033:209:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "36050:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36050:3:84"
                      },
                      {
                        "hexValue": "5769746e65744572726f72734c69623a20",
                        "kind": "string",
                        "nativeSrc": "36055:19:84",
                        "nodeType": "YulLiteral",
                        "src": "36055:19:84",
                        "type": "",
                        "value": "WitnetErrorsLib: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36043:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36043:6:84"
                    },
                    "nativeSrc": "36043:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36043:32:84"
                  },
                  "nativeSrc": "36043:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36043:32:84"
                },
                {
                  "nativeSrc": "36084:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36084:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "36104:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36104:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36098:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36098:5:84"
                    },
                    "nativeSrc": "36098:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36098:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36088:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36088:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36159:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36159:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36167:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36167:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36155:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36155:3:84"
                        },
                        "nativeSrc": "36155:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36155:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "36178:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "36178:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36183:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36183:2:84",
                            "type": "",
                            "value": "17"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36174:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36174:3:84"
                        },
                        "nativeSrc": "36174:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36174:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "36188:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36188:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "36120:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "36120:34:84"
                    },
                    "nativeSrc": "36120:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36120:75:84"
                  },
                  "nativeSrc": "36120:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36120:75:84"
                },
                {
                  "nativeSrc": "36204:32:84",
                  "nodeType": "YulAssignment",
                  "src": "36204:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "36219:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "36219:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "36224:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36224:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36215:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36215:3:84"
                        },
                        "nativeSrc": "36215:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36215:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36233:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36233:2:84",
                        "type": "",
                        "value": "17"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36211:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36211:3:84"
                    },
                    "nativeSrc": "36211:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36211:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "36204:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36204:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "35793:449:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "36009:3:84",
                "nodeType": "YulTypedName",
                "src": "36009:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36014:6:84",
                "nodeType": "YulTypedName",
                "src": "36014:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "36025:3:84",
                "nodeType": "YulTypedName",
                "src": "36025:3:84",
                "type": ""
              }
            ],
            "src": "35793:449:84"
          },
          {
            "body": {
              "nativeSrc": "36294:135:84",
              "nodeType": "YulBlock",
              "src": "36294:135:84",
              "statements": [
                {
                  "nativeSrc": "36304:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36304:30:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36314:20:84",
                    "nodeType": "YulLiteral",
                    "src": "36314:20:84",
                    "type": "",
                    "value": "0xffffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36308:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36308:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36343:34:84",
                  "nodeType": "YulAssignment",
                  "src": "36343:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "36358:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "36358:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36361:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36361:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36354:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36354:3:84"
                        },
                        "nativeSrc": "36354:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36354:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "36370:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "36370:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36373:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36373:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36366:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36366:3:84"
                        },
                        "nativeSrc": "36366:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36366:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36350:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36350:3:84"
                    },
                    "nativeSrc": "36350:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36350:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "36343:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36343:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36401:22:84",
                    "nodeType": "YulBlock",
                    "src": "36401:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "36403:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "36403:16:84"
                          },
                          "nativeSrc": "36403:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36403:18:84"
                        },
                        "nativeSrc": "36403:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36403:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "36392:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36392:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "36397:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36397:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36389:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36389:2:84"
                    },
                    "nativeSrc": "36389:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36389:11:84"
                  },
                  "nativeSrc": "36386:37:84",
                  "nodeType": "YulIf",
                  "src": "36386:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint72",
            "nativeSrc": "36247:182:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36277:1:84",
                "nodeType": "YulTypedName",
                "src": "36277:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36280:1:84",
                "nodeType": "YulTypedName",
                "src": "36280:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "36286:3:84",
                "nodeType": "YulTypedName",
                "src": "36286:3:84",
                "type": ""
              }
            ],
            "src": "36247:182:84"
          },
          {
            "body": {
              "nativeSrc": "36562:146:84",
              "nodeType": "YulBlock",
              "src": "36562:146:84",
              "statements": [
                {
                  "nativeSrc": "36572:26:84",
                  "nodeType": "YulAssignment",
                  "src": "36572:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36584:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36584:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36595:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36595:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36580:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36580:3:84"
                    },
                    "nativeSrc": "36580:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36580:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "36572:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "36572:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36614:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36614:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "36625:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36625:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36607:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36607:6:84"
                    },
                    "nativeSrc": "36607:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36607:25:84"
                  },
                  "nativeSrc": "36607:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36607:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36652:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36652:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36663:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36663:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36648:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36648:3:84"
                        },
                        "nativeSrc": "36648:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36648:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "36672:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36672:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36680:20:84",
                            "nodeType": "YulLiteral",
                            "src": "36680:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36668:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36668:3:84"
                        },
                        "nativeSrc": "36668:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36668:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36641:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36641:6:84"
                    },
                    "nativeSrc": "36641:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36641:61:84"
                  },
                  "nativeSrc": "36641:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36641:61:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "36434:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36523:9:84",
                "nodeType": "YulTypedName",
                "src": "36523:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "36534:6:84",
                "nodeType": "YulTypedName",
                "src": "36534:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36542:6:84",
                "nodeType": "YulTypedName",
                "src": "36542:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "36553:4:84",
                "nodeType": "YulTypedName",
                "src": "36553:4:84",
                "type": ""
              }
            ],
            "src": "36434:274:84"
          },
          {
            "body": {
              "nativeSrc": "36870:162:84",
              "nodeType": "YulBlock",
              "src": "36870:162:84",
              "statements": [
                {
                  "nativeSrc": "36880:26:84",
                  "nodeType": "YulAssignment",
                  "src": "36880:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36892:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36892:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36903:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36903:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36888:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36888:3:84"
                    },
                    "nativeSrc": "36888:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36888:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "36880:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "36880:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36922:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36922:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "36933:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36933:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36915:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36915:6:84"
                    },
                    "nativeSrc": "36915:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36915:25:84"
                  },
                  "nativeSrc": "36915:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36915:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36960:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36960:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36971:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36971:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36956:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36956:3:84"
                        },
                        "nativeSrc": "36956:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36956:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "36976:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36976:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36949:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36949:6:84"
                    },
                    "nativeSrc": "36949:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36949:34:84"
                  },
                  "nativeSrc": "36949:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36949:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37003:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37003:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37014:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37014:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36999:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36999:3:84"
                        },
                        "nativeSrc": "36999:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36999:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37019:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37019:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36992:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36992:6:84"
                    },
                    "nativeSrc": "36992:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36992:34:84"
                  },
                  "nativeSrc": "36992:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36992:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "36713:319:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36823:9:84",
                "nodeType": "YulTypedName",
                "src": "36823:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "36834:6:84",
                "nodeType": "YulTypedName",
                "src": "36834:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "36842:6:84",
                "nodeType": "YulTypedName",
                "src": "36842:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36850:6:84",
                "nodeType": "YulTypedName",
                "src": "36850:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "36861:4:84",
                "nodeType": "YulTypedName",
                "src": "36861:4:84",
                "type": ""
              }
            ],
            "src": "36713:319:84"
          },
          {
            "body": {
              "nativeSrc": "37298:506:84",
              "nodeType": "YulBlock",
              "src": "37298:506:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37315:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37315:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37326:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37326:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37308:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37308:6:84"
                    },
                    "nativeSrc": "37308:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37308:25:84"
                  },
                  "nativeSrc": "37308:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37308:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37353:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37353:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37364:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37364:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37349:3:84"
                        },
                        "nativeSrc": "37349:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37349:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37369:3:84",
                        "nodeType": "YulLiteral",
                        "src": "37369:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37342:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37342:6:84"
                    },
                    "nativeSrc": "37342:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37342:31:84"
                  },
                  "nativeSrc": "37342:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37342:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37393:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37393:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37404:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37404:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37389:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37389:3:84"
                        },
                        "nativeSrc": "37389:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37389:19:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37410:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37410:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37382:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37382:6:84"
                    },
                    "nativeSrc": "37382:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37382:35:84"
                  },
                  "nativeSrc": "37382:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37382:35:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37443:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37443:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37454:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37454:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37439:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37439:3:84"
                        },
                        "nativeSrc": "37439:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37439:19:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "37460:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37460:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37468:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37468:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "37426:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "37426:12:84"
                    },
                    "nativeSrc": "37426:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37426:49:84"
                  },
                  "nativeSrc": "37426:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37426:49:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "37499:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "37499:9:84"
                              },
                              {
                                "name": "value2",
                                "nativeSrc": "37510:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "37510:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37495:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37495:3:84"
                            },
                            "nativeSrc": "37495:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37495:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37519:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37519:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37491:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37491:3:84"
                        },
                        "nativeSrc": "37491:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37491:32:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37525:1:84",
                        "nodeType": "YulLiteral",
                        "src": "37525:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37484:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37484:6:84"
                    },
                    "nativeSrc": "37484:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37484:43:84"
                  },
                  "nativeSrc": "37484:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37484:43:84"
                },
                {
                  "nativeSrc": "37536:55:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37536:55:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37550:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37550:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value2",
                                "nativeSrc": "37569:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "37569:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37577:2:84",
                                "nodeType": "YulLiteral",
                                "src": "37577:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37565:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37565:3:84"
                            },
                            "nativeSrc": "37565:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37565:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "37586:2:84",
                                "nodeType": "YulLiteral",
                                "src": "37586:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "37582:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37582:3:84"
                            },
                            "nativeSrc": "37582:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37582:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37561:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37561:3:84"
                        },
                        "nativeSrc": "37561:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37561:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37546:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37546:3:84"
                    },
                    "nativeSrc": "37546:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37546:45:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37540:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37540:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37611:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37611:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37622:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37622:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37607:3:84"
                        },
                        "nativeSrc": "37607:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37607:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "37627:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37627:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37600:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37600:6:84"
                    },
                    "nativeSrc": "37600:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37600:34:84"
                  },
                  "nativeSrc": "37600:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37600:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37654:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37654:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37665:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37665:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37650:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37650:3:84"
                        },
                        "nativeSrc": "37650:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37650:18:84"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "37670:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37670:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37643:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37643:6:84"
                    },
                    "nativeSrc": "37643:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37643:34:84"
                  },
                  "nativeSrc": "37643:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37643:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37697:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37697:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37708:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37708:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37693:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37693:3:84"
                        },
                        "nativeSrc": "37693:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37693:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "37722:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "37722:2:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "37726:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "37726:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "37718:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37718:3:84"
                            },
                            "nativeSrc": "37718:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37718:18:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37738:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37738:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37714:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37714:3:84"
                        },
                        "nativeSrc": "37714:28:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37714:28:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37686:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37686:6:84"
                    },
                    "nativeSrc": "37686:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37686:57:84"
                  },
                  "nativeSrc": "37686:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37686:57:84"
                },
                {
                  "nativeSrc": "37752:46:84",
                  "nodeType": "YulAssignment",
                  "src": "37752:46:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "37777:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37777:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "37789:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37789:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37793:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37793:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37785:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37785:3:84"
                        },
                        "nativeSrc": "37785:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37785:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "37760:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "37760:16:84"
                    },
                    "nativeSrc": "37760:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37760:38:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37752:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37752:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "37037:767:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37227:9:84",
                "nodeType": "YulTypedName",
                "src": "37227:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "37238:6:84",
                "nodeType": "YulTypedName",
                "src": "37238:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "37246:6:84",
                "nodeType": "YulTypedName",
                "src": "37246:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "37254:6:84",
                "nodeType": "YulTypedName",
                "src": "37254:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "37262:6:84",
                "nodeType": "YulTypedName",
                "src": "37262:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37270:6:84",
                "nodeType": "YulTypedName",
                "src": "37270:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37278:6:84",
                "nodeType": "YulTypedName",
                "src": "37278:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37289:4:84",
                "nodeType": "YulTypedName",
                "src": "37289:4:84",
                "type": ""
              }
            ],
            "src": "37037:767:84"
          },
          {
            "body": {
              "nativeSrc": "37878:176:84",
              "nodeType": "YulBlock",
              "src": "37878:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37924:16:84",
                    "nodeType": "YulBlock",
                    "src": "37924:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37933:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37933:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37936:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37936:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37926:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37926:6:84"
                          },
                          "nativeSrc": "37926:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37926:12:84"
                        },
                        "nativeSrc": "37926:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37926:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37899:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "37899:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "37908:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37908:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37895:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37895:3:84"
                        },
                        "nativeSrc": "37895:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37895:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37920:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37920:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37891:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37891:3:84"
                    },
                    "nativeSrc": "37891:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37891:32:84"
                  },
                  "nativeSrc": "37888:52:84",
                  "nodeType": "YulIf",
                  "src": "37888:52:84"
                },
                {
                  "nativeSrc": "37949:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37949:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37975:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37975:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "37962:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "37962:12:84"
                    },
                    "nativeSrc": "37962:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37962:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "37953:5:84",
                      "nodeType": "YulTypedName",
                      "src": "37953:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38018:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38018:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "37994:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "37994:23:84"
                    },
                    "nativeSrc": "37994:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37994:30:84"
                  },
                  "nativeSrc": "37994:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37994:30:84"
                },
                {
                  "nativeSrc": "38033:15:84",
                  "nodeType": "YulAssignment",
                  "src": "38033:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "38043:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "38043:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "38033:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38033:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "37809:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37844:9:84",
                "nodeType": "YulTypedName",
                "src": "37844:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "37855:7:84",
                "nodeType": "YulTypedName",
                "src": "37855:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "37867:6:84",
                "nodeType": "YulTypedName",
                "src": "37867:6:84",
                "type": ""
              }
            ],
            "src": "37809:245:84"
          },
          {
            "body": {
              "nativeSrc": "38127:175:84",
              "nodeType": "YulBlock",
              "src": "38127:175:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38173:16:84",
                    "nodeType": "YulBlock",
                    "src": "38173:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38182:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38182:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38185:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38185:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38175:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38175:6:84"
                          },
                          "nativeSrc": "38175:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38175:12:84"
                        },
                        "nativeSrc": "38175:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38175:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38148:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "38148:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "38157:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38157:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38144:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38144:3:84"
                        },
                        "nativeSrc": "38144:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38144:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38169:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38169:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38140:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38140:3:84"
                    },
                    "nativeSrc": "38140:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38140:32:84"
                  },
                  "nativeSrc": "38137:52:84",
                  "nodeType": "YulIf",
                  "src": "38137:52:84"
                },
                {
                  "nativeSrc": "38198:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38198:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38224:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38224:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "38211:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38211:12:84"
                    },
                    "nativeSrc": "38211:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38211:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "38202:5:84",
                      "nodeType": "YulTypedName",
                      "src": "38202:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38266:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38266:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "38243:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "38243:22:84"
                    },
                    "nativeSrc": "38243:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38243:29:84"
                  },
                  "nativeSrc": "38243:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38243:29:84"
                },
                {
                  "nativeSrc": "38281:15:84",
                  "nodeType": "YulAssignment",
                  "src": "38281:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "38291:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "38291:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "38281:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38281:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "38059:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38093:9:84",
                "nodeType": "YulTypedName",
                "src": "38093:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "38104:7:84",
                "nodeType": "YulTypedName",
                "src": "38104:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "38116:6:84",
                "nodeType": "YulTypedName",
                "src": "38116:6:84",
                "type": ""
              }
            ],
            "src": "38059:243:84"
          },
          {
            "body": {
              "nativeSrc": "38354:88:84",
              "nodeType": "YulBlock",
              "src": "38354:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38385:22:84",
                    "nodeType": "YulBlock",
                    "src": "38385:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "38387:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "38387:16:84"
                          },
                          "nativeSrc": "38387:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38387:18:84"
                        },
                        "nativeSrc": "38387:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38387:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38370:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38370:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38381:1:84",
                            "nodeType": "YulLiteral",
                            "src": "38381:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "38377:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38377:3:84"
                        },
                        "nativeSrc": "38377:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38377:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "38367:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38367:2:84"
                    },
                    "nativeSrc": "38367:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38367:17:84"
                  },
                  "nativeSrc": "38364:43:84",
                  "nodeType": "YulIf",
                  "src": "38364:43:84"
                },
                {
                  "nativeSrc": "38416:20:84",
                  "nodeType": "YulAssignment",
                  "src": "38416:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38427:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38427:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38434:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38434:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38423:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38423:3:84"
                    },
                    "nativeSrc": "38423:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38423:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "38416:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38416:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "38307:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "38336:5:84",
                "nodeType": "YulTypedName",
                "src": "38336:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "38346:3:84",
                "nodeType": "YulTypedName",
                "src": "38346:3:84",
                "type": ""
              }
            ],
            "src": "38307:135:84"
          },
          {
            "body": {
              "nativeSrc": "38578:411:84",
              "nodeType": "YulBlock",
              "src": "38578:411:84",
              "statements": [
                {
                  "nativeSrc": "38588:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38588:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38616:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38616:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "38603:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38603:12:84"
                    },
                    "nativeSrc": "38603:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38603:19:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "38592:7:84",
                      "nodeType": "YulTypedName",
                      "src": "38592:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "38654:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "38654:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "38631:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "38631:22:84"
                    },
                    "nativeSrc": "38631:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38631:31:84"
                  },
                  "nativeSrc": "38631:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38631:31:84"
                },
                {
                  "nativeSrc": "38671:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38671:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "38685:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "38685:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38694:4:84",
                        "nodeType": "YulLiteral",
                        "src": "38694:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "38681:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38681:3:84"
                    },
                    "nativeSrc": "38681:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38681:18:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38675:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38675:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38708:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38708:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "38724:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "38724:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "38718:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38718:5:84"
                    },
                    "nativeSrc": "38718:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38718:11:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "38712:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38712:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "38745:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "38745:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "38758:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "38758:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38766:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "38766:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "38762:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "38762:3:84"
                                },
                                "nativeSrc": "38762:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "38762:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "38754:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38754:3:84"
                            },
                            "nativeSrc": "38754:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38754:17:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "38773:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38773:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "38751:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38751:2:84"
                        },
                        "nativeSrc": "38751:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38751:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "38738:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38738:6:84"
                    },
                    "nativeSrc": "38738:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38738:39:84"
                  },
                  "nativeSrc": "38738:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38738:39:84"
                },
                {
                  "nativeSrc": "38786:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38786:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "38818:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "38818:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38825:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38825:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38814:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38814:3:84"
                        },
                        "nativeSrc": "38814:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38814:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "38801:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38801:12:84"
                    },
                    "nativeSrc": "38801:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38801:28:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "38790:7:84",
                      "nodeType": "YulTypedName",
                      "src": "38790:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "38862:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "38862:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "38838:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "38838:23:84"
                    },
                    "nativeSrc": "38838:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38838:32:84"
                  },
                  "nativeSrc": "38838:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38838:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "38886:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "38886:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "38902:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "38902:2:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "38910:20:84",
                                        "nodeType": "YulLiteral",
                                        "src": "38910:20:84",
                                        "type": "",
                                        "value": "0xffffffffffffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "38906:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "38906:3:84"
                                    },
                                    "nativeSrc": "38906:25:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "38906:25:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "38898:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "38898:3:84"
                                },
                                "nativeSrc": "38898:34:84",
                                "nodeType": "YulFunctionCall",
                                "src": "38898:34:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "38934:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "38934:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "38895:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "38895:2:84"
                            },
                            "nativeSrc": "38895:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38895:42:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "38947:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "38947:1:84",
                                    "type": "",
                                    "value": "8"
                                  },
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "38950:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "38950:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "38943:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "38943:3:84"
                                },
                                "nativeSrc": "38943:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "38943:15:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38960:20:84",
                                "nodeType": "YulLiteral",
                                "src": "38960:20:84",
                                "type": "",
                                "value": "0xffffffffffffffff00"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "38939:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38939:3:84"
                            },
                            "nativeSrc": "38939:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38939:42:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "38892:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38892:2:84"
                        },
                        "nativeSrc": "38892:90:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38892:90:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "38879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38879:6:84"
                    },
                    "nativeSrc": "38879:104:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38879:104:84"
                  },
                  "nativeSrc": "38879:104:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38879:104:84"
                }
              ]
            },
            "name": "update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage",
            "nativeSrc": "38447:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "38561:4:84",
                "nodeType": "YulTypedName",
                "src": "38561:4:84",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "38567:5:84",
                "nodeType": "YulTypedName",
                "src": "38567:5:84",
                "type": ""
              }
            ],
            "src": "38447:542:84"
          },
          {
            "body": {
              "nativeSrc": "39042:123:84",
              "nodeType": "YulBlock",
              "src": "39042:123:84",
              "statements": [
                {
                  "nativeSrc": "39052:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39052:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39062:6:84",
                    "nodeType": "YulLiteral",
                    "src": "39062:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39056:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39056:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39077:35:84",
                  "nodeType": "YulAssignment",
                  "src": "39077:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39093:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39093:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39096:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39096:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39089:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39089:3:84"
                        },
                        "nativeSrc": "39089:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39089:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39105:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39105:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39108:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39108:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39101:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39101:3:84"
                        },
                        "nativeSrc": "39101:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39101:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "39085:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39085:3:84"
                    },
                    "nativeSrc": "39085:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39085:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "39077:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "39077:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39137:22:84",
                    "nodeType": "YulBlock",
                    "src": "39137:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39139:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39139:16:84"
                          },
                          "nativeSrc": "39139:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39139:18:84"
                        },
                        "nativeSrc": "39139:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39139:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "39127:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39127:4:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "39133:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "39133:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39124:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "39124:2:84"
                    },
                    "nativeSrc": "39124:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39124:12:84"
                  },
                  "nativeSrc": "39121:38:84",
                  "nodeType": "YulIf",
                  "src": "39121:38:84"
                }
              ]
            },
            "name": "checked_sub_t_uint16",
            "nativeSrc": "38994:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39024:1:84",
                "nodeType": "YulTypedName",
                "src": "39024:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39027:1:84",
                "nodeType": "YulTypedName",
                "src": "39027:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "39033:4:84",
                "nodeType": "YulTypedName",
                "src": "39033:4:84",
                "type": ""
              }
            ],
            "src": "38994:171:84"
          },
          {
            "body": {
              "nativeSrc": "39215:142:84",
              "nodeType": "YulBlock",
              "src": "39215:142:84",
              "statements": [
                {
                  "nativeSrc": "39225:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39225:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39235:6:84",
                    "nodeType": "YulLiteral",
                    "src": "39235:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39229:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39229:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39250:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39250:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "39265:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "39265:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "39268:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "39268:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "39261:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39261:3:84"
                    },
                    "nativeSrc": "39261:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39261:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "39254:3:84",
                      "nodeType": "YulTypedName",
                      "src": "39254:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39295:22:84",
                    "nodeType": "YulBlock",
                    "src": "39295:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "39297:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39297:16:84"
                          },
                          "nativeSrc": "39297:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39297:18:84"
                        },
                        "nativeSrc": "39297:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39297:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "39290:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39290:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "39283:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39283:6:84"
                    },
                    "nativeSrc": "39283:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39283:11:84"
                  },
                  "nativeSrc": "39280:37:84",
                  "nodeType": "YulIf",
                  "src": "39280:37:84"
                },
                {
                  "nativeSrc": "39326:25:84",
                  "nodeType": "YulAssignment",
                  "src": "39326:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39339:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39339:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39342:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39342:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39335:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39335:3:84"
                        },
                        "nativeSrc": "39335:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39335:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "39347:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39347:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "39331:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39331:3:84"
                    },
                    "nativeSrc": "39331:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39331:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "39326:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "39326:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint16",
            "nativeSrc": "39170:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39200:1:84",
                "nodeType": "YulTypedName",
                "src": "39200:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39203:1:84",
                "nodeType": "YulTypedName",
                "src": "39203:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "39209:1:84",
                "nodeType": "YulTypedName",
                "src": "39209:1:84",
                "type": ""
              }
            ],
            "src": "39170:187:84"
          },
          {
            "body": {
              "nativeSrc": "39409:121:84",
              "nodeType": "YulBlock",
              "src": "39409:121:84",
              "statements": [
                {
                  "nativeSrc": "39419:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39419:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39429:6:84",
                    "nodeType": "YulLiteral",
                    "src": "39429:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39423:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39423:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39444:34:84",
                  "nodeType": "YulAssignment",
                  "src": "39444:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39459:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39459:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39462:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39462:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39455:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39455:3:84"
                        },
                        "nativeSrc": "39455:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39455:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39471:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39471:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39474:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39474:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39467:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39467:3:84"
                        },
                        "nativeSrc": "39467:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39467:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39451:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39451:3:84"
                    },
                    "nativeSrc": "39451:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39451:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "39444:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39444:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39502:22:84",
                    "nodeType": "YulBlock",
                    "src": "39502:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39504:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39504:16:84"
                          },
                          "nativeSrc": "39504:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39504:18:84"
                        },
                        "nativeSrc": "39504:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39504:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "39493:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39493:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "39498:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "39498:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39490:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "39490:2:84"
                    },
                    "nativeSrc": "39490:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39490:11:84"
                  },
                  "nativeSrc": "39487:37:84",
                  "nodeType": "YulIf",
                  "src": "39487:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "39362:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39392:1:84",
                "nodeType": "YulTypedName",
                "src": "39392:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39395:1:84",
                "nodeType": "YulTypedName",
                "src": "39395:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "39401:3:84",
                "nodeType": "YulTypedName",
                "src": "39401:3:84",
                "type": ""
              }
            ],
            "src": "39362:168:84"
          },
          {
            "body": {
              "nativeSrc": "39586:206:84",
              "nodeType": "YulBlock",
              "src": "39586:206:84",
              "statements": [
                {
                  "nativeSrc": "39596:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39596:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39606:18:84",
                    "nodeType": "YulLiteral",
                    "src": "39606:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39600:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39600:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39633:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39633:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39660:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39660:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39663:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39663:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39656:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39656:3:84"
                        },
                        "nativeSrc": "39656:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39656:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39672:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39672:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39675:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39675:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39668:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39668:3:84"
                        },
                        "nativeSrc": "39668:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39668:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "39652:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39652:3:84"
                    },
                    "nativeSrc": "39652:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39652:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "39637:11:84",
                      "nodeType": "YulTypedName",
                      "src": "39637:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39688:31:84",
                  "nodeType": "YulAssignment",
                  "src": "39688:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "39703:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "39703:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "39716:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "39716:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "39699:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39699:3:84"
                    },
                    "nativeSrc": "39699:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39699:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "39688:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "39688:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39764:22:84",
                    "nodeType": "YulBlock",
                    "src": "39764:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39766:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39766:16:84"
                          },
                          "nativeSrc": "39766:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39766:18:84"
                        },
                        "nativeSrc": "39766:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39766:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "39741:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "39741:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "39750:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "39750:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "39738:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39738:2:84"
                        },
                        "nativeSrc": "39738:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39738:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "39731:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39731:6:84"
                    },
                    "nativeSrc": "39731:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39731:32:84"
                  },
                  "nativeSrc": "39728:58:84",
                  "nodeType": "YulIf",
                  "src": "39728:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "39535:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39565:1:84",
                "nodeType": "YulTypedName",
                "src": "39565:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39568:1:84",
                "nodeType": "YulTypedName",
                "src": "39568:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "39574:7:84",
                "nodeType": "YulTypedName",
                "src": "39574:7:84",
                "type": ""
              }
            ],
            "src": "39535:257:84"
          },
          {
            "body": {
              "nativeSrc": "39852:724:84",
              "nodeType": "YulBlock",
              "src": "39852:724:84",
              "statements": [
                {
                  "nativeSrc": "39862:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39862:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39888:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39888:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39882:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39882:5:84"
                    },
                    "nativeSrc": "39882:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39882:12:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "39866:12:84",
                      "nodeType": "YulTypedName",
                      "src": "39866:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "39910:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39910:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39915:4:84",
                        "nodeType": "YulLiteral",
                        "src": "39915:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39903:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39903:6:84"
                    },
                    "nativeSrc": "39903:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39903:17:84"
                  },
                  "nativeSrc": "39903:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39903:17:84"
                },
                {
                  "nativeSrc": "39929:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39929:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "39957:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "39957:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39951:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39951:5:84"
                    },
                    "nativeSrc": "39951:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39951:19:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "39933:14:84",
                      "nodeType": "YulTypedName",
                      "src": "39933:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "39990:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39990:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39995:4:84",
                            "nodeType": "YulLiteral",
                            "src": "39995:4:84",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39986:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39986:3:84"
                        },
                        "nativeSrc": "39986:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39986:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40002:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40002:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39979:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39979:6:84"
                    },
                    "nativeSrc": "39979:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39979:28:84"
                  },
                  "nativeSrc": "39979:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39979:28:84"
                },
                {
                  "nativeSrc": "40016:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40016:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "40045:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "40045:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40065:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40065:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40070:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40070:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40061:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40061:3:84"
                        },
                        "nativeSrc": "40061:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40061:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "40028:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "40028:16:84"
                    },
                    "nativeSrc": "40028:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40028:47:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "40020:4:84",
                      "nodeType": "YulTypedName",
                      "src": "40020:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40095:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40095:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40100:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40100:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40091:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40091:3:84"
                        },
                        "nativeSrc": "40091:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40091:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0",
                                "nativeSrc": "40116:12:84",
                                "nodeType": "YulIdentifier",
                                "src": "40116:12:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40130:4:84",
                                "nodeType": "YulLiteral",
                                "src": "40130:4:84",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40112:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40112:3:84"
                            },
                            "nativeSrc": "40112:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40112:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "40106:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "40106:5:84"
                        },
                        "nativeSrc": "40106:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40106:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40084:6:84"
                    },
                    "nativeSrc": "40084:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40084:53:84"
                  },
                  "nativeSrc": "40084:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40084:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40157:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40157:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40162:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40162:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40153:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40153:3:84"
                        },
                        "nativeSrc": "40153:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40153:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40183:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40183:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40190:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40190:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40179:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40179:3:84"
                                },
                                "nativeSrc": "40179:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40179:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40173:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40173:5:84"
                            },
                            "nativeSrc": "40173:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40173:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40198:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40198:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40169:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40169:3:84"
                        },
                        "nativeSrc": "40169:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40169:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40146:6:84"
                    },
                    "nativeSrc": "40146:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40146:58:84"
                  },
                  "nativeSrc": "40146:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40146:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40224:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40224:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40229:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40229:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40220:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40220:3:84"
                        },
                        "nativeSrc": "40220:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40220:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40250:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40250:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40257:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40257:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40246:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40246:3:84"
                                },
                                "nativeSrc": "40246:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40246:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40240:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40240:5:84"
                            },
                            "nativeSrc": "40240:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40240:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40265:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40265:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40236:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40236:3:84"
                        },
                        "nativeSrc": "40236:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40236:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40213:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40213:6:84"
                    },
                    "nativeSrc": "40213:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40213:58:84"
                  },
                  "nativeSrc": "40213:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40213:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40291:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40291:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40296:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40296:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40287:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40287:3:84"
                        },
                        "nativeSrc": "40287:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40287:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40317:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40317:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40324:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40324:4:84",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40313:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40313:3:84"
                                },
                                "nativeSrc": "40313:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40313:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40307:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40307:5:84"
                            },
                            "nativeSrc": "40307:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40307:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40332:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40332:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40303:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40303:3:84"
                        },
                        "nativeSrc": "40303:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40303:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40280:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40280:6:84"
                    },
                    "nativeSrc": "40280:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40280:58:84"
                  },
                  "nativeSrc": "40280:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40280:58:84"
                },
                {
                  "nativeSrc": "40347:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40347:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40379:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40379:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40386:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40386:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40375:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40375:3:84"
                        },
                        "nativeSrc": "40375:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40375:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40369:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40369:5:84"
                    },
                    "nativeSrc": "40369:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40369:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "40351:14:84",
                      "nodeType": "YulTypedName",
                      "src": "40351:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40401:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40401:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40411:18:84",
                    "nodeType": "YulLiteral",
                    "src": "40411:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40405:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40405:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40449:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40449:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40454:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40454:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40445:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40445:3:84"
                        },
                        "nativeSrc": "40445:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40445:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "40465:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "40465:14:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40481:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40481:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40461:3:84"
                        },
                        "nativeSrc": "40461:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40461:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40438:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40438:6:84"
                    },
                    "nativeSrc": "40438:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40438:47:84"
                  },
                  "nativeSrc": "40438:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40438:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40505:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40505:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40510:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40510:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40501:3:84"
                        },
                        "nativeSrc": "40501:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40501:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40531:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40531:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40538:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40538:4:84",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40527:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40527:3:84"
                                },
                                "nativeSrc": "40527:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40527:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40521:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40521:5:84"
                            },
                            "nativeSrc": "40521:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40521:23:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40546:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40546:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40517:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40517:3:84"
                        },
                        "nativeSrc": "40517:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40517:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40494:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40494:6:84"
                    },
                    "nativeSrc": "40494:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40494:56:84"
                  },
                  "nativeSrc": "40494:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40494:56:84"
                },
                {
                  "nativeSrc": "40559:11:84",
                  "nodeType": "YulAssignment",
                  "src": "40559:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "40566:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "40566:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "40559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40559:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_CBOR",
            "nativeSrc": "39797:779:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "39829:5:84",
                "nodeType": "YulTypedName",
                "src": "39829:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "39836:3:84",
                "nodeType": "YulTypedName",
                "src": "39836:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "39844:3:84",
                "nodeType": "YulTypedName",
                "src": "39844:3:84",
                "type": ""
              }
            ],
            "src": "39797:779:84"
          },
          {
            "body": {
              "nativeSrc": "40886:374:84",
              "nodeType": "YulBlock",
              "src": "40886:374:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40903:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "40903:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "40914:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "40914:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40896:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40896:6:84"
                    },
                    "nativeSrc": "40896:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40896:25:84"
                  },
                  "nativeSrc": "40896:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40896:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40941:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "40941:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40952:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40952:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40937:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40937:3:84"
                        },
                        "nativeSrc": "40937:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40937:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "40961:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40961:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40969:18:84",
                            "nodeType": "YulLiteral",
                            "src": "40969:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40957:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40957:3:84"
                        },
                        "nativeSrc": "40957:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40957:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40930:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40930:6:84"
                    },
                    "nativeSrc": "40930:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40930:59:84"
                  },
                  "nativeSrc": "40930:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40930:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41009:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41009:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41020:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41020:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41005:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41005:3:84"
                        },
                        "nativeSrc": "41005:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41005:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41025:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41025:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40998:6:84"
                    },
                    "nativeSrc": "40998:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40998:34:84"
                  },
                  "nativeSrc": "40998:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40998:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41052:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41052:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41063:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41063:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41048:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41048:3:84"
                        },
                        "nativeSrc": "41048:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41048:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41068:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41068:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41041:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41041:6:84"
                    },
                    "nativeSrc": "41041:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41041:34:84"
                  },
                  "nativeSrc": "41041:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41041:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41117:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41117:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41129:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41129:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41140:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41140:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41125:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41125:3:84"
                        },
                        "nativeSrc": "41125:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41125:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "41084:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "41084:32:84"
                    },
                    "nativeSrc": "41084:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41084:61:84"
                  },
                  "nativeSrc": "41084:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41084:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41165:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41165:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41176:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41176:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41161:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41161:3:84"
                        },
                        "nativeSrc": "41161:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41161:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41182:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41182:3:84",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41154:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41154:6:84"
                    },
                    "nativeSrc": "41154:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41154:32:84"
                  },
                  "nativeSrc": "41154:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41154:32:84"
                },
                {
                  "nativeSrc": "41195:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41195:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "41226:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41226:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41238:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41238:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41249:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41249:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41234:3:84"
                        },
                        "nativeSrc": "41234:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41234:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41203:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41203:22:84"
                    },
                    "nativeSrc": "41203:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41203:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41195:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41195:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "40581:679:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40815:9:84",
                "nodeType": "YulTypedName",
                "src": "40815:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "40826:6:84",
                "nodeType": "YulTypedName",
                "src": "40826:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "40834:6:84",
                "nodeType": "YulTypedName",
                "src": "40834:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "40842:6:84",
                "nodeType": "YulTypedName",
                "src": "40842:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "40850:6:84",
                "nodeType": "YulTypedName",
                "src": "40850:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40858:6:84",
                "nodeType": "YulTypedName",
                "src": "40858:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40866:6:84",
                "nodeType": "YulTypedName",
                "src": "40866:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40877:4:84",
                "nodeType": "YulTypedName",
                "src": "40877:4:84",
                "type": ""
              }
            ],
            "src": "40581:679:84"
          },
          {
            "body": {
              "nativeSrc": "41522:304:84",
              "nodeType": "YulBlock",
              "src": "41522:304:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41539:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41539:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "41550:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41550:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41532:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41532:6:84"
                    },
                    "nativeSrc": "41532:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41532:25:84"
                  },
                  "nativeSrc": "41532:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41532:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41577:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41577:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41588:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41588:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41573:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41573:3:84"
                        },
                        "nativeSrc": "41573:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41573:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "41597:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41597:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41605:18:84",
                            "nodeType": "YulLiteral",
                            "src": "41605:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41593:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41593:3:84"
                        },
                        "nativeSrc": "41593:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41593:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41566:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41566:6:84"
                    },
                    "nativeSrc": "41566:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41566:59:84"
                  },
                  "nativeSrc": "41566:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41566:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41645:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41645:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41656:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41656:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41641:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41641:3:84"
                        },
                        "nativeSrc": "41641:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41641:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41661:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41661:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41634:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41634:6:84"
                    },
                    "nativeSrc": "41634:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41634:34:84"
                  },
                  "nativeSrc": "41634:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41634:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41688:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41688:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41699:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41699:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41684:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41684:3:84"
                        },
                        "nativeSrc": "41684:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41684:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41704:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41704:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41677:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41677:6:84"
                    },
                    "nativeSrc": "41677:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41677:34:84"
                  },
                  "nativeSrc": "41677:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41677:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41731:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41731:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41742:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41742:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41727:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41727:3:84"
                        },
                        "nativeSrc": "41727:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41727:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41748:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41748:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41720:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41720:6:84"
                    },
                    "nativeSrc": "41720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41720:32:84"
                  },
                  "nativeSrc": "41720:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41720:32:84"
                },
                {
                  "nativeSrc": "41761:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41761:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41792:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41792:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41804:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41804:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41815:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41815:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41800:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41800:3:84"
                        },
                        "nativeSrc": "41800:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41800:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41769:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41769:22:84"
                    },
                    "nativeSrc": "41769:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41769:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41761:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41761:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "41265:561:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41459:9:84",
                "nodeType": "YulTypedName",
                "src": "41459:9:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "41470:6:84",
                "nodeType": "YulTypedName",
                "src": "41470:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41478:6:84",
                "nodeType": "YulTypedName",
                "src": "41478:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41486:6:84",
                "nodeType": "YulTypedName",
                "src": "41486:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41494:6:84",
                "nodeType": "YulTypedName",
                "src": "41494:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41502:6:84",
                "nodeType": "YulTypedName",
                "src": "41502:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41513:4:84",
                "nodeType": "YulTypedName",
                "src": "41513:4:84",
                "type": ""
              }
            ],
            "src": "41265:561:84"
          },
          {
            "body": {
              "nativeSrc": "41880:79:84",
              "nodeType": "YulBlock",
              "src": "41880:79:84",
              "statements": [
                {
                  "nativeSrc": "41890:17:84",
                  "nodeType": "YulAssignment",
                  "src": "41890:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "41902:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41902:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "41905:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41905:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "41898:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41898:3:84"
                    },
                    "nativeSrc": "41898:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41898:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "41890:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41890:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41931:22:84",
                    "nodeType": "YulBlock",
                    "src": "41931:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "41933:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "41933:16:84"
                          },
                          "nativeSrc": "41933:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41933:18:84"
                        },
                        "nativeSrc": "41933:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41933:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "41922:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "41922:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "41928:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41928:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41919:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41919:2:84"
                    },
                    "nativeSrc": "41919:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41919:11:84"
                  },
                  "nativeSrc": "41916:37:84",
                  "nodeType": "YulIf",
                  "src": "41916:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "41831:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "41862:1:84",
                "nodeType": "YulTypedName",
                "src": "41862:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "41865:1:84",
                "nodeType": "YulTypedName",
                "src": "41865:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "41871:4:84",
                "nodeType": "YulTypedName",
                "src": "41871:4:84",
                "type": ""
              }
            ],
            "src": "41831:128:84"
          },
          {
            "body": {
              "nativeSrc": "42058:1247:84",
              "nodeType": "YulBlock",
              "src": "42058:1247:84",
              "statements": [
                {
                  "nativeSrc": "42068:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42068:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "42088:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "42088:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42082:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "42082:5:84"
                    },
                    "nativeSrc": "42082:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42082:10:84"
                  },
                  "variables": [
                    {
                      "name": "newLen",
                      "nativeSrc": "42072:6:84",
                      "nodeType": "YulTypedName",
                      "src": "42072:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42135:22:84",
                    "nodeType": "YulBlock",
                    "src": "42135:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "42137:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "42137:16:84"
                          },
                          "nativeSrc": "42137:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "42137:18:84"
                        },
                        "nativeSrc": "42137:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "42137:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42107:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42107:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42115:18:84",
                        "nodeType": "YulLiteral",
                        "src": "42115:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42104:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42104:2:84"
                    },
                    "nativeSrc": "42104:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42104:30:84"
                  },
                  "nativeSrc": "42101:56:84",
                  "nodeType": "YulIf",
                  "src": "42101:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "42209:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "42209:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "42247:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "42247:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "42241:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42241:5:84"
                            },
                            "nativeSrc": "42241:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42241:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "42215:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "42215:25:84"
                        },
                        "nativeSrc": "42215:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42215:38:84"
                      },
                      {
                        "name": "newLen",
                        "nativeSrc": "42255:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42255:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "42166:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "42166:42:84"
                    },
                    "nativeSrc": "42166:96:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42166:96:84"
                  },
                  "nativeSrc": "42166:96:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42166:96:84"
                },
                {
                  "nativeSrc": "42271:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42271:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42288:1:84",
                    "nodeType": "YulLiteral",
                    "src": "42288:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42275:9:84",
                      "nodeType": "YulTypedName",
                      "src": "42275:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42298:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42298:23:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42317:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42317:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "srcOffset_1",
                      "nativeSrc": "42302:11:84",
                      "nodeType": "YulTypedName",
                      "src": "42302:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42330:17:84",
                  "nodeType": "YulAssignment",
                  "src": "42330:17:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42343:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42343:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variableNames": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42330:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "42330:9:84"
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "42393:655:84",
                        "nodeType": "YulBlock",
                        "src": "42393:655:84",
                        "statements": [
                          {
                            "nativeSrc": "42407:35:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42407:35:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42426:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42426:6:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "42438:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "42438:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "42434:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42434:3:84"
                                  },
                                  "nativeSrc": "42434:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "42434:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "42422:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "42422:3:84"
                              },
                              "nativeSrc": "42422:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42422:20:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "42411:7:84",
                                "nodeType": "YulTypedName",
                                "src": "42411:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42455:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42455:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "42498:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42498:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "42469:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "42469:28:84"
                              },
                              "nativeSrc": "42469:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42469:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "42459:6:84",
                                "nodeType": "YulTypedName",
                                "src": "42459:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42516:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42516:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "42525:1:84",
                              "nodeType": "YulLiteral",
                              "src": "42525:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "42520:1:84",
                                "nodeType": "YulTypedName",
                                "src": "42520:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "42603:172:84",
                              "nodeType": "YulBlock",
                              "src": "42603:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42628:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42628:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "42646:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42646:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "42651:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42651:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "42642:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42642:3:84"
                                            },
                                            "nativeSrc": "42642:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42642:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "mload",
                                          "nativeSrc": "42636:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42636:5:84"
                                        },
                                        "nativeSrc": "42636:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42636:26:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42621:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42621:6:84"
                                    },
                                    "nativeSrc": "42621:42:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42621:42:84"
                                  },
                                  "nativeSrc": "42621:42:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42621:42:84"
                                },
                                {
                                  "nativeSrc": "42680:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42680:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42694:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42694:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "42702:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "42702:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42690:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42690:3:84"
                                    },
                                    "nativeSrc": "42690:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42690:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "42680:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42680:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "42721:40:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42721:40:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "42738:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42738:9:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42749:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42749:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42734:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42734:3:84"
                                    },
                                    "nativeSrc": "42734:27:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42734:27:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "42721:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42721:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "42550:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42550:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42553:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42553:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42547:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42547:2:84"
                              },
                              "nativeSrc": "42547:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42547:14:84"
                            },
                            "nativeSrc": "42539:236:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "42562:28:84",
                              "nodeType": "YulBlock",
                              "src": "42562:28:84",
                              "statements": [
                                {
                                  "nativeSrc": "42564:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42564:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "42573:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42573:1:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42576:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42576:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42569:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42569:3:84"
                                    },
                                    "nativeSrc": "42569:19:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42569:19:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "42564:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42564:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "42543:3:84",
                              "nodeType": "YulBlock",
                              "src": "42543:3:84",
                              "statements": []
                            },
                            "src": "42539:236:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "42823:166:84",
                              "nodeType": "YulBlock",
                              "src": "42823:166:84",
                              "statements": [
                                {
                                  "nativeSrc": "42841:43:84",
                                  "nodeType": "YulVariableDeclaration",
                                  "src": "42841:43:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "42868:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42868:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "42873:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42873:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "42864:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42864:3:84"
                                        },
                                        "nativeSrc": "42864:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42864:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "42858:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42858:5:84"
                                    },
                                    "nativeSrc": "42858:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42858:26:84"
                                  },
                                  "variables": [
                                    {
                                      "name": "lastValue",
                                      "nativeSrc": "42845:9:84",
                                      "nodeType": "YulTypedName",
                                      "src": "42845:9:84",
                                      "type": ""
                                    }
                                  ]
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42908:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42908:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "lastValue",
                                            "nativeSrc": "42920:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42920:9:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "42947:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "42947:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "newLen",
                                                            "nativeSrc": "42950:6:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "42950:6:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "42943:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "42943:3:84"
                                                        },
                                                        "nativeSrc": "42943:14:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "42943:14:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "42959:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "42959:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "42939:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "42939:3:84"
                                                    },
                                                    "nativeSrc": "42939:24:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "42939:24:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "42969:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "42969:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "42965:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "42965:3:84"
                                                    },
                                                    "nativeSrc": "42965:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "42965:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "42935:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "42935:3:84"
                                                },
                                                "nativeSrc": "42935:37:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "42935:37:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "42931:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42931:3:84"
                                            },
                                            "nativeSrc": "42931:42:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42931:42:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "42916:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42916:3:84"
                                        },
                                        "nativeSrc": "42916:58:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42916:58:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42901:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42901:6:84"
                                    },
                                    "nativeSrc": "42901:74:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42901:74:84"
                                  },
                                  "nativeSrc": "42901:74:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42901:74:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42794:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42794:7:84"
                                },
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42803:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42803:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42791:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42791:2:84"
                              },
                              "nativeSrc": "42791:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42791:19:84"
                            },
                            "nativeSrc": "42788:201:84",
                            "nodeType": "YulIf",
                            "src": "42788:201:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43009:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43009:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "43023:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "43023:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "newLen",
                                          "nativeSrc": "43026:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43026:6:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "43019:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43019:3:84"
                                      },
                                      "nativeSrc": "43019:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "43019:14:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "43035:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "43035:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "43015:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43015:3:84"
                                  },
                                  "nativeSrc": "43015:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43015:22:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43002:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43002:6:84"
                              },
                              "nativeSrc": "43002:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43002:36:84"
                            },
                            "nativeSrc": "43002:36:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43002:36:84"
                          }
                        ]
                      },
                      "nativeSrc": "42386:662:84",
                      "nodeType": "YulCase",
                      "src": "42386:662:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "42391:1:84",
                        "nodeType": "YulLiteral",
                        "src": "42391:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "43065:234:84",
                        "nodeType": "YulBlock",
                        "src": "43065:234:84",
                        "statements": [
                          {
                            "nativeSrc": "43079:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "43079:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43092:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43092:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "43083:5:84",
                                "nodeType": "YulTypedName",
                                "src": "43083:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "43128:67:84",
                              "nodeType": "YulBlock",
                              "src": "43128:67:84",
                              "statements": [
                                {
                                  "nativeSrc": "43146:35:84",
                                  "nodeType": "YulAssignment",
                                  "src": "43146:35:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "43165:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43165:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "43170:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43170:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "43161:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43161:3:84"
                                        },
                                        "nativeSrc": "43161:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "43161:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "43155:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43155:5:84"
                                    },
                                    "nativeSrc": "43155:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43155:26:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43146:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43146:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "newLen",
                              "nativeSrc": "43109:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "43109:6:84"
                            },
                            "nativeSrc": "43106:89:84",
                            "nodeType": "YulIf",
                            "src": "43106:89:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43215:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43215:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43274:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43274:5:84"
                                    },
                                    {
                                      "name": "newLen",
                                      "nativeSrc": "43281:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43281:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "43221:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43221:52:84"
                                  },
                                  "nativeSrc": "43221:67:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43221:67:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43208:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43208:6:84"
                              },
                              "nativeSrc": "43208:81:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43208:81:84"
                            },
                            "nativeSrc": "43208:81:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43208:81:84"
                          }
                        ]
                      },
                      "nativeSrc": "43057:242:84",
                      "nodeType": "YulCase",
                      "src": "43057:242:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42366:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42366:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42374:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42374:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42363:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42363:2:84"
                    },
                    "nativeSrc": "42363:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42363:14:84"
                  },
                  "nativeSrc": "42356:943:84",
                  "nodeType": "YulSwitch",
                  "src": "42356:943:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage",
            "nativeSrc": "41964:1341:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "42043:4:84",
                "nodeType": "YulTypedName",
                "src": "42043:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "42049:3:84",
                "nodeType": "YulTypedName",
                "src": "42049:3:84",
                "type": ""
              }
            ],
            "src": "41964:1341:84"
          },
          {
            "body": {
              "nativeSrc": "43435:141:84",
              "nodeType": "YulBlock",
              "src": "43435:141:84",
              "statements": [
                {
                  "nativeSrc": "43445:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43445:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43457:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43457:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43468:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43468:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43453:3:84"
                    },
                    "nativeSrc": "43453:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43453:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43445:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43445:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43487:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43487:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43502:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43502:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43510:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43510:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43498:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43498:3:84"
                        },
                        "nativeSrc": "43498:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43498:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43480:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43480:6:84"
                    },
                    "nativeSrc": "43480:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43480:36:84"
                  },
                  "nativeSrc": "43480:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43480:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43536:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43536:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43547:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43547:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43532:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43532:3:84"
                        },
                        "nativeSrc": "43532:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43532:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "43556:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43556:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43564:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43564:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43552:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43552:3:84"
                        },
                        "nativeSrc": "43552:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43552:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43525:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43525:6:84"
                    },
                    "nativeSrc": "43525:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43525:45:84"
                  },
                  "nativeSrc": "43525:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43525:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "43310:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43396:9:84",
                "nodeType": "YulTypedName",
                "src": "43396:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "43407:6:84",
                "nodeType": "YulTypedName",
                "src": "43407:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43415:6:84",
                "nodeType": "YulTypedName",
                "src": "43415:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43426:4:84",
                "nodeType": "YulTypedName",
                "src": "43426:4:84",
                "type": ""
              }
            ],
            "src": "43310:266:84"
          },
          {
            "body": {
              "nativeSrc": "43628:133:84",
              "nodeType": "YulBlock",
              "src": "43628:133:84",
              "statements": [
                {
                  "nativeSrc": "43638:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43638:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43648:18:84",
                    "nodeType": "YulLiteral",
                    "src": "43648:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43642:2:84",
                      "nodeType": "YulTypedName",
                      "src": "43642:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "43675:34:84",
                  "nodeType": "YulAssignment",
                  "src": "43675:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "43690:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43690:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43693:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43693:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43686:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43686:3:84"
                        },
                        "nativeSrc": "43686:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43686:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "43702:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43702:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43705:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43705:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43698:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43698:3:84"
                        },
                        "nativeSrc": "43698:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43698:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43682:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43682:3:84"
                    },
                    "nativeSrc": "43682:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43682:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "43675:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43675:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43733:22:84",
                    "nodeType": "YulBlock",
                    "src": "43733:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "43735:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "43735:16:84"
                          },
                          "nativeSrc": "43735:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43735:18:84"
                        },
                        "nativeSrc": "43735:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43735:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "43724:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "43724:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "43729:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "43729:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "43721:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "43721:2:84"
                    },
                    "nativeSrc": "43721:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43721:11:84"
                  },
                  "nativeSrc": "43718:37:84",
                  "nodeType": "YulIf",
                  "src": "43718:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "43581:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43611:1:84",
                "nodeType": "YulTypedName",
                "src": "43611:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43614:1:84",
                "nodeType": "YulTypedName",
                "src": "43614:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "43620:3:84",
                "nodeType": "YulTypedName",
                "src": "43620:3:84",
                "type": ""
              }
            ],
            "src": "43581:180:84"
          },
          {
            "body": {
              "nativeSrc": "43865:87:84",
              "nodeType": "YulBlock",
              "src": "43865:87:84",
              "statements": [
                {
                  "nativeSrc": "43875:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43875:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43887:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43887:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43898:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43898:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43883:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43883:3:84"
                    },
                    "nativeSrc": "43883:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43883:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43875:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43875:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43917:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43917:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43932:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43932:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43940:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43940:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43928:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43928:3:84"
                        },
                        "nativeSrc": "43928:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43928:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43910:6:84"
                    },
                    "nativeSrc": "43910:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43910:36:84"
                  },
                  "nativeSrc": "43910:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43910:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "43766:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43834:9:84",
                "nodeType": "YulTypedName",
                "src": "43834:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43845:6:84",
                "nodeType": "YulTypedName",
                "src": "43845:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43856:4:84",
                "nodeType": "YulTypedName",
                "src": "43856:4:84",
                "type": ""
              }
            ],
            "src": "43766:186:84"
          },
          {
            "body": {
              "nativeSrc": "43995:74:84",
              "nodeType": "YulBlock",
              "src": "43995:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "44018:22:84",
                    "nodeType": "YulBlock",
                    "src": "44018:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "44020:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44020:16:84"
                          },
                          "nativeSrc": "44020:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44020:18:84"
                        },
                        "nativeSrc": "44020:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44020:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "44015:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44015:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "44008:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44008:6:84"
                    },
                    "nativeSrc": "44008:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44008:9:84"
                  },
                  "nativeSrc": "44005:35:84",
                  "nodeType": "YulIf",
                  "src": "44005:35:84"
                },
                {
                  "nativeSrc": "44049:14:84",
                  "nodeType": "YulAssignment",
                  "src": "44049:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "44058:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44058:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "44061:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44061:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "44054:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44054:3:84"
                    },
                    "nativeSrc": "44054:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44054:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "44049:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "44049:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "43957:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43980:1:84",
                "nodeType": "YulTypedName",
                "src": "43980:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43983:1:84",
                "nodeType": "YulTypedName",
                "src": "43983:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "43989:1:84",
                "nodeType": "YulTypedName",
                "src": "43989:1:84",
                "type": ""
              }
            ],
            "src": "43957:112:84"
          },
          {
            "body": {
              "nativeSrc": "44248:229:84",
              "nodeType": "YulBlock",
              "src": "44248:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44265:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44265:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44276:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44276:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44258:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44258:6:84"
                    },
                    "nativeSrc": "44258:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44258:21:84"
                  },
                  "nativeSrc": "44258:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44258:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44299:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44299:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44310:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44310:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44295:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44295:3:84"
                        },
                        "nativeSrc": "44295:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44295:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44315:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44315:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44288:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44288:6:84"
                    },
                    "nativeSrc": "44288:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44288:30:84"
                  },
                  "nativeSrc": "44288:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44288:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44338:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44338:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44349:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44349:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44334:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44334:3:84"
                        },
                        "nativeSrc": "44334:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44334:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "44354:34:84",
                        "nodeType": "YulLiteral",
                        "src": "44354:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44327:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44327:6:84"
                    },
                    "nativeSrc": "44327:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44327:62:84"
                  },
                  "nativeSrc": "44327:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44327:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44409:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44409:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44420:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44420:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44405:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44405:3:84"
                        },
                        "nativeSrc": "44405:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44405:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "44425:9:84",
                        "nodeType": "YulLiteral",
                        "src": "44425:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44398:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44398:6:84"
                    },
                    "nativeSrc": "44398:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44398:37:84"
                  },
                  "nativeSrc": "44398:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44398:37:84"
                },
                {
                  "nativeSrc": "44444:27:84",
                  "nodeType": "YulAssignment",
                  "src": "44444:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44456:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44456:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44467:3:84",
                        "nodeType": "YulLiteral",
                        "src": "44467:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44452:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44452:3:84"
                    },
                    "nativeSrc": "44452:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44452:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "44444:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44444:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "44074:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44225:9:84",
                "nodeType": "YulTypedName",
                "src": "44225:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "44239:4:84",
                "nodeType": "YulTypedName",
                "src": "44239:4:84",
                "type": ""
              }
            ],
            "src": "44074:403:84"
          },
          {
            "body": {
              "nativeSrc": "44529:104:84",
              "nodeType": "YulBlock",
              "src": "44529:104:84",
              "statements": [
                {
                  "nativeSrc": "44539:39:84",
                  "nodeType": "YulAssignment",
                  "src": "44539:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "44555:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44555:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44558:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44558:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44551:3:84"
                        },
                        "nativeSrc": "44551:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44551:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "44569:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44569:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44572:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44572:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44565:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44565:3:84"
                        },
                        "nativeSrc": "44565:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44565:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "44547:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44547:3:84"
                    },
                    "nativeSrc": "44547:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44547:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "44539:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44539:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44605:22:84",
                    "nodeType": "YulBlock",
                    "src": "44605:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "44607:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44607:16:84"
                          },
                          "nativeSrc": "44607:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44607:18:84"
                        },
                        "nativeSrc": "44607:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44607:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "44593:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "44593:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44599:4:84",
                        "nodeType": "YulLiteral",
                        "src": "44599:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44590:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44590:2:84"
                    },
                    "nativeSrc": "44590:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44590:14:84"
                  },
                  "nativeSrc": "44587:40:84",
                  "nodeType": "YulIf",
                  "src": "44587:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "44482:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "44511:1:84",
                "nodeType": "YulTypedName",
                "src": "44511:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "44514:1:84",
                "nodeType": "YulTypedName",
                "src": "44514:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "44520:4:84",
                "nodeType": "YulTypedName",
                "src": "44520:4:84",
                "type": ""
              }
            ],
            "src": "44482:151:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\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        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_t_string_memory_ptr_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__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, \"not implemented: 0x\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 19), length)\n        let _1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(_1, 19), length_1)\n        let _2 := add(_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), add(_2, 19), length_2)\n        let _3 := add(_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, 0x20), add(_3, 19), length_3)\n        end := add(add(_3, length_3), 19)\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_uint24(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint24(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint24(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_array_struct_BatchResult_calldata_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_struct_Response(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffff))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        let memberValue0 := mload(add(value, 0x80))\n        mstore(add(pos, 0x80), 0xa0)\n        end := abi_encode_bytes(memberValue0, add(pos, 0xa0))\n    }\n    function abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Response(value0, add(headStart, 32))\n    }\n    function abi_encode_struct_Request(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffffffffffffff))\n        let memberValue0 := mload(add(value, 0x60))\n        mstore(add(pos, 0x60), 0xe0)\n        let tail := abi_encode_bytes(memberValue0, add(pos, 0xe0))\n        mstore(add(pos, 0x80), mload(add(value, 0x80)))\n        let memberValue0_1 := mload(add(value, 0xa0))\n        mstore(add(pos, 0xa0), and(mload(memberValue0_1), 0xff))\n        mstore(add(pos, 192), and(mload(add(memberValue0_1, 0x20)), 0xffffffffffffffff))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Request(value0, add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_ResponseStatus(value, pos)\n    {\n        if iszero(lt(value, 6)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ResponseStatus(value0, headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function finalize_allocation(memPtr, size)\n    {\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_address_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := calldataload(_2)\n        let _4 := array_allocation_size_array_address_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_struct_RadonSLA_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 64) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := calldataload(_1)\n        let _3 := array_allocation_size_bytes(_2)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _3)\n        mstore(memPtr, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(memPtr, 32), add(_1, 32), _2)\n        mstore(add(add(memPtr, _2), 32), 0)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_bytes(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_encode_enum_QueryStatus(value, pos)\n    {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            abi_encode_enum_QueryStatus(mload(srcPtr), pos)\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint16(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint16(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        value4 := calldataload(add(headStart, 64))\n        value5 := calldataload(add(headStart, 96))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        value2 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value3 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_enum_ResultErrorCodes(value, pos)\n    {\n        if iszero(lt(value, 255)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        abi_encode_enum_ResultErrorCodes(mload(value0), add(headStart, 32))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_bytes(memberValue0, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let memberValue0 := mload(value0)\n        mstore(add(headStart, 32), 0x40)\n        let tail_1 := abi_encode_struct_Request(memberValue0, add(headStart, 96))\n        let memberValue0_1 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), add(sub(tail_1, headStart), not(31)))\n        tail := abi_encode_struct_Response(memberValue0_1, tail_1)\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint32(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IERC20_$479__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value2 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        mstore(end_1, \": \")\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(end_1, 2), length_1)\n        end := add(add(end_1, length_1), 2)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xff), y_1)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function mod_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := mod(and(x, 0xff), y_1)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr(base_ref, ptr_to_tail) -> addr\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(126)))) { revert(0, 0) }\n        addr := add(base_ref, rel_offset_of_tail)\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := array_allocation_size_bytes(_1)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _2)\n        mstore(memPtr, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(memPtr, 0x20), _1)\n        array := memPtr\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_bytes(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        mstore(end_1, \": invalid report data\")\n        end := add(end_1, 21)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\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    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        let value := calldataload(value2)\n        validator_revert_uint8(value)\n        mstore(add(headStart, 64), and(value, 0xff))\n        let value_1 := calldataload(add(value2, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(headStart, 96), and(value_1, 0xffffffffffffffff))\n    }\n    function abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := mload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let _4 := array_allocation_size_array_address_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let value := mload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_WitnetOracle_$749_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), value2)\n        if gt(value2, sub(shl(251, 1), 1)) { revert(0, 0) }\n        let length := shl(5, value2)\n        calldatacopy(add(headStart, 96), value1, length)\n        tail := add(add(headStart, length), 96)\n    }\n    function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := 0xffffffffffffffff\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let _5 := array_allocation_size_array_address_dyn(_4)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _5)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_string_fromMemory(add(add(_3, innerOffset), _1), dataEnd))\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"Ownable2Step: caller is not the \")\n        mstore(add(headStart, 96), \"new owner\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint16_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function array_dataslot_bytes_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_bytes_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(0, array)\n            let data := keccak256(0, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := srcOffset\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\n    }\n    function abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        abi_encode_enum_ResponseStatus(value0, headStart)\n        let _1 := 32\n        mstore(add(headStart, 32), 64)\n        let ret := 0\n        let slotValue := sload(value1)\n        let length := extract_byte_array_length(slotValue)\n        mstore(add(headStart, 64), length)\n        let _2 := 96\n        let _3 := 1\n        switch and(slotValue, 1)\n        case 0 {\n            mstore(add(headStart, 96), and(slotValue, not(255)))\n            ret := add(add(headStart, shl(5, iszero(iszero(length)))), 96)\n        }\n        case 1 {\n            mstore(0, value1)\n            let dataPos := keccak256(0, 32)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _1) }\n            {\n                mstore(add(add(headStart, i), _2), sload(dataPos))\n                dataPos := add(dataPos, _3)\n            }\n            ret := add(add(headStart, i), 96)\n        }\n        tail := ret\n    }\n    function abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x40) { revert(0, 0) }\n        let memPtr := mload(0x40)\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n        let value := mload(_2)\n        if iszero(lt(value, 255)) { revert(0, 0) }\n        mstore(memPtr, value)\n        let offset_1 := mload(add(_2, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(memPtr, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function return_data_selector() -> sig\n    {\n        if gt(returndatasize(), 3)\n        {\n            returndatacopy(0, 0, 4)\n            sig := shr(224, mload(0))\n        }\n    }\n    function try_decode_error_message() -> ret\n    {\n        if lt(returndatasize(), 0x44) { leave }\n        let data := mload(64)\n        let _1 := not(3)\n        returndatacopy(data, 4, add(returndatasize(), _1))\n        let offset := mload(data)\n        let _2 := returndatasize()\n        let _3 := 0xffffffffffffffff\n        if or(gt(offset, _3), gt(add(offset, 0x24), _2)) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, _3) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), _1)) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetErrorsLib: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 17), length)\n        end := add(add(pos, length), 17)\n    }\n    function checked_add_t_uint72(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 160)\n        mstore(add(headStart, 160), value2)\n        calldatacopy(add(headStart, 192), value1, value2)\n        mstore(add(add(headStart, value2), 192), 0)\n        let _1 := add(headStart, and(add(value2, 31), not(31)))\n        mstore(add(headStart, 64), value3)\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), add(sub(_1, headStart), 192))\n        tail := abi_encode_bytes(value5, add(_1, 192))\n    }\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint64(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage(slot, value)\n    {\n        let value_1 := calldataload(value)\n        validator_revert_uint8(value_1)\n        let _1 := and(value_1, 0xff)\n        let _2 := sload(slot)\n        sstore(slot, or(and(_2, not(255)), _1))\n        let value_2 := calldataload(add(value, 32))\n        validator_revert_uint64(value_2)\n        sstore(slot, or(or(and(_2, not(0xffffffffffffffffff)), _1), and(shl(8, value_2), 0xffffffffffffffff00)))\n    }\n    function checked_sub_t_uint16(x, y) -> diff\n    {\n        let _1 := 0xffff\n        diff := sub(and(x, _1), and(y, _1))\n        if gt(diff, _1) { panic_error_0x11() }\n    }\n    function checked_div_t_uint16(x, y) -> r\n    {\n        let _1 := 0xffff\n        let y_1 := and(y, _1)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, _1), y_1)\n    }\n    function checked_add_t_uint16(x, y) -> sum\n    {\n        let _1 := 0xffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let _1 := 0xffffffffffffffff\n        let product_raw := mul(and(x, _1), and(y, _1))\n        product := and(product_raw, _1)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function abi_encode_struct_CBOR(value, pos) -> end\n    {\n        let memberValue0 := mload(value)\n        mstore(pos, 0xc0)\n        let memberValue0_1 := mload(memberValue0)\n        mstore(add(pos, 0xc0), 0x40)\n        let tail := abi_encode_bytes(memberValue0_1, add(pos, 256))\n        mstore(add(pos, 224), mload(add(memberValue0, 0x20)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xff))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xff))\n        let memberValue0_2 := mload(add(value, 0x80))\n        let _1 := 0xffffffffffffffff\n        mstore(add(pos, 0x80), and(memberValue0_2, _1))\n        mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), _1))\n        end := tail\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        abi_encode_enum_ResultErrorCodes(value4, add(headStart, 128))\n        mstore(add(headStart, 160), 192)\n        tail := abi_encode_struct_CBOR(value5, add(headStart, 192))\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        tail := abi_encode_struct_CBOR(value4, add(headStart, 160))\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := 0x20\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"WitnetCBOR.skip: unsupported maj\")\n        mstore(add(headStart, 96), \"or type\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "629:2557:33:-:0;;;675:10:28;639:46;;-1:-1:-1;;;1345:72:36;;863:702:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1294:8;1317:9;1341:11;1367;1393:20;1428:32;1475:38;1528:18;1491:8:37;1515:9;1539:11;1566;1601:1;3369:9:36;3424:11;3450;694:288:28;;;;;;;;;;;;;;;;;846:11;3339:10:36;1297:1:1;-1:-1:-1;;;;;1273:26:1;:12;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;1282:51:84;1255:18;;1322:31:1;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1288:4:83;1304:13;;1328:27;;;;1857:1:4;2061:7;:21;875:40:28::1;::::0;;;;942:32;;::::1;::::0;;::::1;::::0;926:48:::1;::::0;-1:-1:-1;;;;;;344:28:80;;;;;3531:20:36;;::::3;;::::0;-1:-1:-1;;;3562:20:36::3;;::::0;1634:44:37::1;::::0;;;;1689:68:::1;::::0;;;;1768:80:::1;::::0;1859:40:::1;::::0;-1:-1:-1;629:2557:33;;-1:-1:-1;;;;;;;;;;;629:2557:33;1478:156:79;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;:::-;1478:156;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:153:84:-;-1:-1:-1;;;;;111:31:84;;101:42;;91:70;;157:1;154;147:12;172:959;360:6;368;376;384;392;400;408;416;469:3;457:9;448:7;444:23;440:33;437:53;;;486:1;483;476:12;437:53;518:9;512:16;537:53;584:5;537:53;:::i;:::-;659:2;644:18;;638:25;609:5;;-1:-1:-1;672:55:84;638:25;672:55;:::i;:::-;798:2;783:18;;777:25;746:7;;-1:-1:-1;840:15:84;;833:23;821:36;;811:64;;871:1;868;861:12;811:64;941:2;926:18;;920:25;985:3;970:19;;964:26;1030:3;1015:19;;1009:26;1075:3;1060:19;;1054:26;1120:3;1105:19;;;1099:26;172:959;;;;-1:-1:-1;894:7:84;;920:25;;964:26;;1009;;-1:-1:-1;1054:26:84;;-1:-1:-1;1099:26:84;-1:-1:-1;172:959:84;-1:-1:-1;;;172:959:84:o;1136:203::-;629:2557:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "629:2557:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:32:36;;;;;;;;;;;;;;-1:-1:-1;;;3637:32:36;;;:7;:32::i;:::-;629:2557:33;;;;;;;;;;;-1:-1:-1;4058:325:36;4140:42;4172:7;;4159:22;;4140:18;:42::i;:::-;4197:47;4216:27;4229:7;;4216:27;;;4197:18;:47::i;:::-;4259:48;4278:28;4291:7;;4278:28;;;4259:18;:48::i;:::-;4322;4341:28;4354:7;;4341:28;;;4322:18;:48::i;:::-;4073:308;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4058:7;:325::i;29533:142::-;;;;;;;;;;-1:-1:-1;29533:142:36;;;;;:::i;:::-;;:::i;:::-;;;1899:14:84;;1892:22;1874:41;;1862:2;1847:18;29533:142:36;;;;;;;;2501:255:33;;;;;;;;;;-1:-1:-1;2501:255:33;;;;;:::i;:::-;;:::i;:::-;;;2495:25:84;;;2483:2;2468:18;2501:255:33;2349:177:84;27473:1666:36;;;;;;;;;;-1:-1:-1;27473:1666:36;;;;;:::i;:::-;;:::i;9818:398::-;;;;;;;;;;-1:-1:-1;9818:398:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10949:217::-;;;;;;;;;;-1:-1:-1;10949:217:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12089:227::-;;;;;;;;;;-1:-1:-1;12089:227:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30388:344::-;;;;;;;;;;-1:-1:-1;30388:344:36;;;;;:::i;:::-;;:::i;15617:575::-;;;;;;:::i;:::-;;:::i;6426:1626::-;;;;;;;;;;-1:-1:-1;6426:1626:36;;;;;:::i;:::-;;:::i;23309:257::-;;;;;;;;;;-1:-1:-1;23309:257:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29950:154::-;;;;;;;;;;-1:-1:-1;29950:154:36;;;;;:::i;:::-;;:::i;1477:77:83:-;;;;;;;;;;-1:-1:-1;1541:5:83;1477:77;;;-1:-1:-1;;;;;10568:32:84;;;10550:51;;10538:2;10523:18;1477:77:83;10404:203:84;1799:47:28;;;;;;;;;;;;;;;1931:88:83;;;;;;;;;;-1:-1:-1;2000:11:83;1931:88;;2176:135:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14152:413:36:-;;;;;;;;;;-1:-1:-1;14152:413:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;24223:814::-;;;;;;;;;;-1:-1:-1;24223:814:36;;;;;:::i;:::-;;:::i;8139:271::-;;;;;;;;;;-1:-1:-1;8139:271:36;;;;;:::i;:::-;;:::i;13933:211::-;;;;;;;;;;-1:-1:-1;13933:211:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10589:213::-;;;;;;;;;;-1:-1:-1;10589:213:36;;;;;:::i;:::-;10709:7;10741:35;;;-1:-1:-1;;;;;;;;;;;10741:35:36;;;;;:53;-1:-1:-1;;;10741:53:36;;-1:-1:-1;;;;;10741:53:36;;10589:213;2293:101:1;;;;;;;;;;;;;:::i;1719:245:79:-;;;;;;;;;;;;;:::i;1424:57:36:-;;;;;;;;;;;;;;;4399:150;;;;;;;;;;-1:-1:-1;4499:40:36;;;4518:4;4499:40;;;;30249:51:84;;;;4525:13:36;30316:18:84;;;30309:34;4499:40:36;;;;;;;;;30222:18:84;;;;4499:40:36;;;4489:51;;;;;4399:150;;;-1:-1:-1;;;;;;13358:33:84;;;13340:52;;13328:2;13313:18;4399:150:36;13196:202:84;2072:225:33;;;;;;;;;;-1:-1:-1;2072:225:33;;;;;:::i;:::-;;:::i;12493:240:36:-;;;;;;;;;;-1:-1:-1;12493:240:36;;;;;:::i;:::-;;:::i;1638:85:1:-;;;;;;;;;;-1:-1:-1;1684:7:1;1710:6;-1:-1:-1;;;;;1710:6:1;1638:85;;21752:1341:36;;;;;;;;;;-1:-1:-1;21752:1341:36;;;;;:::i;:::-;;:::i;:::-;;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;21752:1341:36;14972:248:84;9033:419:36;;;;;;;;;;-1:-1:-1;9033:419:36;;;;;:::i;:::-;;:::i;19674:853::-;;;;;;:::i;:::-;;:::i;12906:974::-;;;;;;;;;;-1:-1:-1;12906:974:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1660:176:83:-;;;;;;;;;;-1:-1:-1;1747:5:83;1800:18;1660:176;;1345:72:36;;;;;;;;;;;;;;;10307:190;;;;;;;;;;-1:-1:-1;10307:190:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25776:1038::-;;;;;;;;;;-1:-1:-1;25776:1038:36;;;;;:::i;:::-;;:::i;719:132:33:-;;;;;;;;;;;;;:::i;4766:114:36:-;;;;;;;;;;-1:-1:-1;4863:9:36;4766:114;;14657:146;;;;;;;;;;;;;:::i;639:46:28:-;;;;;;;;;;;;;;;807:101:79;;;;;;;;;;-1:-1:-1;887:13:79;;-1:-1:-1;;;;;887:13:79;807:101;;161:32:80;;;;;;;;;;;;;;;17568:726:36;;;;;;:::i;:::-;;:::i;20769:423::-;;;;;;:::i;:::-;;:::i;1107:181:79:-;;;;;;;;;;-1:-1:-1;1107:181:79;;;;;:::i;:::-;;:::i;11403:225:36:-;;;;;;;;;;-1:-1:-1;11403:225:36;;;;;:::i;:::-;;:::i;2777:235:28:-;2920:7;:5;:7::i;:::-;2969:8;2885:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2885:107:28;;;;;;;;;;-1:-1:-1;;;2857:147:28;;;;;;;:::i;:::-;;;;;;;;19878:397:64;19999:12;;;20009:1;19999:12;;;;;;;;;19950:13;;19981:15;;19999:12;;;;;;;;;;;-1:-1:-1;;19981:30:64;-1:-1:-1;20022:8:64;20039:7;20044:2;20039;:7;:::i;:::-;20033:19;;20050:2;20033:19;:::i;:::-;20022:30;-1:-1:-1;20063:8:64;20080:7;20085:2;20080;:7;:::i;:::-;20074:19;;20091:2;20074:19;:::i;:::-;20063:30;;20113:2;20108;:7;;;20104:33;;;20130:7;20136:1;20130:7;;:::i;:::-;;;20104:33;20157:2;20152;:7;;;20148:33;;;20174:7;20180:1;20174:7;;:::i;:::-;;;20148:33;20207:2;20200:10;;20192:2;20195:1;20192:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20192:18:64;;;;;;;;;20236:2;20229:10;;20221:2;20224:1;20221:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20221:18:64;;;;;;;;-1:-1:-1;20264:2:64;;19878:397;-1:-1:-1;;;;19878:397:64:o;29533:142:36:-;-1:-1:-1;;;;;1232:22:41;;29602:4:36;1232:22:41;;;:16;:22;;;;;;;;29626:41:36;29619:48;29533:142;-1:-1:-1;;29533:142:36:o;2501:255:33:-;2638:7;2670:78;2727:1;2730:17;2670:56;:78::i;:::-;2663:85;2501:255;-1:-1:-1;;;2501:255:33:o;27473:1666:36:-;27628:20;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;3010:10;2988:33;;;;:21;;;;;:33;;;;;;;;;;2965:105;;;;;;;;;;;-1:-1:-1;;;2965:105:36;;;;;;;2988:33;;;2965:8;:105::i;:::-;27672:7:::1;27666:1211;27685:25:::0;;::::1;27666:1211;;;27843:27;27756:62;27792:13;;27806:2;27792:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;27756:35;:62::i;:::-;:114;;;;;;;;:::i;:::-;;27734:1132;;27910:179;27949:13;;27963:2;27949:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;27997:73;::::0;-1:-1:-1;;;27997:73:36;;27949:25;::::1;::::0;27997:19:::1;::::0;:44:::1;::::0;:73:::1;::::0;28042:27:::1;::::0;27997:73:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;27997:73:36::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;27910:179;;;;;;;:::i;:::-;;;;;;;;27734:1132;;;28133:13;;28147:2;28133:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;:43;;::::0;;:118:::1;;;28201:13;;28215:2;28201:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:50:::0;;-1:-1:-1;28133:118:36::1;28111:755;;;28291:238;28330:13;;28344:2;28330:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28429:7;:5;:7::i;:::-;28386:123;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;28386:123:36;;::::1;::::0;;;;;;;28291:238:::1;::::0;;::::1;:::i;28111:755::-;28586:264;28623:13;;28637:2;28623:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28671:13:::0;;28685:2;28671:17;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;28732:13;;28746:2;28732:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;;;28793:13;;28807:2;28793:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28586:14;:264::i;:::-;28570:280;::::0;;::::1;:::i;:::-;;;28111:755;27712:5;;27666:1211;;;-1:-1:-1::0;28987:16:36;;28983:149:::1;;29020:100;29063:10;29093:12;29020:16;:100::i;9818:398::-:0;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9932:14:36;9948:30;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2494:53:36;;;;;;;;;;;;:::i;:::-;2486:7;:62::i;:::-;2413:173;;;10003:14:::1;2717:139;2754:46;2791:8;2754:36;:46::i;:::-;:56:::0;2717:139:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2717:139:36::1;::::0;::::1;::::0;-1:-1:-1;;;;;2754:56:36;;::::1;2740:10;:70;::::0;2717:8:::1;:139::i;:::-;10101:45:::2;10131:14;10101:29;:45::i;:::-;10089:66;::::0;;::::2;::::0;::::2;::::0;;10101:54:::2;::::0;::::2;10089:66:::0;;-1:-1:-1;;;;;10089:66:36;::::2;::::0;;-1:-1:-1;;;10089:66:36;::::2;-1:-1:-1::0;;;;;10089:66:36::2;;::::0;::::2;::::0;-1:-1:-1;;;10089:66:36;::::2;;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;10173:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;10173:11:36::2;:35;::::0;;;:19:::2;::::0;;::::2;:35;::::0;;;;10166:42;;;10173:35;;;;;10166:42:::2;::::0;;::::2;10173:35:::0;10166:42:::2;:::i;:::-;-1:-1:-1::0;10166:42:36::2;;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;10166:42:36;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;;;;::::2;:::i;:::-;;;;;2575:1:::1;2413:173:::0;9818:398;;;;;:::o;10949:217::-;11058:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:23:36;11106:52;11143:14;11106:36;:52::i;:::-;11099:59;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;-1:-1:-1;;;11099:59:36;;;;;;;;-1:-1:-1;;;11099:59:36;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11099:59:36;;;-1:-1:-1;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;-1:-1:-1;;10949:217:36:o;12089:227::-;12201:23;12249:59;12293:14;12249:43;:59::i;30388:344::-;1531:13:1;:11;:13::i;:::-;30517:7:36::1;30512:169;30535:12;:19;30530:2;:24;30512:169;;;30578:17;30598:12;30611:2;30598:16;;;;;;;;:::i;:::-;;;;;;;30578:36;;30664:5;30629:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;30629:11:36::1;-1:-1:-1::0;;;;;30629:32:36;;;::::1;;::::0;;;:21:::1;::::0;;::::1;:32;::::0;;;;;:40;;-1:-1:-1;;30629:40:36::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;30556:5:36::1;30512:169;;;;30696:28;30711:12;30696:28;;;;;;:::i;:::-;;;;;;;;30388:344:::0;:::o;15617:575::-;15897:22;15806:42;3174:1:33;15838:9:36;15806:15;:42::i;:::-;1873:97;1914:8;4679:9:37;1896:14:36;:26;;1873:97;;;;;;;;;;;;;-1:-1:-1;;;1873:97:36;;;:8;:97::i;:::-;1982;2023:13;:8;2034:2;2023:13;:::i;:::-;4679:9:37;2005:31:36;;1982:97;;;;;;;;;;;;;-1:-1:-1;;;1982:97:36;;;:8;:97::i;:::-;15868:9:::1;2168:84;2191:21;2208:3;2191:16;:21::i;:::-;2168:84;;;;;;;;;;;;;-1:-1:-1::0;;;2168:84:36::1;;::::0;:8:::1;:84::i;:::-;15954:38:::2;15968:9;15979;15990:1;15954:13;:38::i;:::-;15937:55:::0;-1:-1:-1;16079:105:36::2;15937:55:::0;4679:9:37;16164::36::2;16079:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::1;15617:575:::0;;;;;:::o;6426:1626::-;6520:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;6555:30:36;1710:6:1;6598:617:36;;6696:29;6780:9;6769:39;;;;;;;;;;;;:::i;:::-;6740:68;;-1:-1:-1;6740:68:36;-1:-1:-1;6823:26:36;6740:68;6823:18;:26::i;:::-;6891:16;6880:41;;;;;;;;;;;;:::i;:::-;6864:57;;6624:309;6598:617;;;6997:96;7038:6;-1:-1:-1;;;;;7024:20:36;:10;-1:-1:-1;;;;;7024:20:36;;6997:96;;;;;;;;;;;;;-1:-1:-1;;;6997:96:36;;;:8;:96::i;:::-;7180:9;7169:34;;;;;;;;;;;;:::i;:::-;7153:50;;6598:617;7245:22;;:36;;;;:93;;-1:-1:-1;7302:22:36;;1747:5:83;1800:18;7302:36:36;7245:93;7227:177;;;7365:27;;;;;;;;;;;;;;-1:-1:-1;;;7365:27:36;;;:7;:27::i;:::-;1747:5:83;1800:18;7414:22:36;:35;7462:103;;;;;;;;;;;;-1:-1:-1;;;7462:103:36;;;;;;7493:9;-1:-1:-1;;;;;7485:30:36;;:34;;;7462:8;:103::i;:::-;7576:131;-1:-1:-1;;;;;;;;7599:60:36;;:9;-1:-1:-1;;;;;7599:15:36;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7599:60:36;;;7576:131;;;;;;;;;;;;;-1:-1:-1;;;7576:131:36;;;:8;:131::i;:::-;7718:185;7780:4;-1:-1:-1;;;;;7741:44:36;7749:9;-1:-1:-1;;;;;7749:16:36;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7741:44:36;;:116;;;;;7848:8;-1:-1:-1;;;;;7807:50:36;7815:9;-1:-1:-1;;;;;7815:18:36;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7807:50:36;;7741:116;7718:185;;;;;;;;;;;;;-1:-1:-1;;;7718:185:36;;;:8;:185::i;:::-;7950:29;7965:13;7950:14;:29::i;:::-;1747:5:83;1800:18;1541:5;-1:-1:-1;;;;;7997:47:36;8006:6;-1:-1:-1;;;;;7997:47:36;;8034:9;:7;:9::i;:::-;7997:47;;;;;;:::i;:::-;;;;;;;;6509:1543;;6426:1626;:::o;23309:257::-;23492:66;;-1:-1:-1;;;23492:66:36;;23442:25;;23492:19;;:45;;:66;;23538:8;;23548:9;;;;23492:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23492:66:36;;;;;;;;;;;;:::i;29950:154::-;1531:13:1;:11;:13::i;:::-;30070:26:36::1;30085:10;30070:14;:26::i;:::-;29950:154:::0;:::o;2176:135:28:-;2233:13;2266:37;2276:26;2266:9;:37::i;:::-;2259:44;;2176:135;:::o;14152:413:36:-;14276:37;14368:15;-1:-1:-1;;;;;14341:50:36;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14341:50:36;;14331:60;;14407:8;14402:156;14421:28;;;14402:156;;;14489:57;14525:15;;14541:3;14525:20;;;;;;;:::i;:::-;;;;;;;14489:35;:57::i;:::-;14474:7;14482:3;14474:12;;;;;;;;:::i;:::-;;;;;;:72;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;14451:6:36;;14402:156;;;;14152:413;;;;:::o;24223:814::-;24531:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;24468:14;24484:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;24593:113:::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;24593:113:36::2;::::0;::::2;::::0;::::2;::::0;24616:39;;::::2;::::0;24593:8:::2;:113::i;:::-;24844:185;24882:14;24918:15;24949:27;24991;;24844:23;:185::i;:::-;24837:192;;2575:1;3081::::1;;24223:814:::0;;;;;;:::o;8139:271::-;8212:4;2000:11:83;8340:51:36;;;;;8386:5;-1:-1:-1;;;;;8375:16:36;:7;1684::1;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;8375:7:36;-1:-1:-1;;;;;8375:16:36;;8229:173;8139:271;-1:-1:-1;;8139:271:36:o;13933:211::-;14040:20;14085:51;14121:14;14085:35;:51::i;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1719:245:79:-;887:13;;735:10:3;;-1:-1:-1;;;;;887:13:79;1816:24;;1812:108;;1857:51;;-1:-1:-1;;;1857:51:79;;29867:2:84;1857:51:79;;;29849:21:84;29906:2;29886:18;;;29879:30;29945:34;29925:18;;;29918:62;-1:-1:-1;;;29996:18:84;;;29989:39;30045:19;;1857:51:79;29665:405:84;1812:108:79;1930:26;1949:6;1930:18;:26::i;2072:225:33:-;2194:7;2226:63;2271:1;2274:14;2226:44;:63::i;12493:240:36:-;12619:12;12656:53;12694:14;12656:37;:53::i;:::-;:69;;12649:76;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:240;;;:::o;21752:1341::-;22011:17;22030;22070:8;22065:1021;22084:28;;;22065:1021;;;22202:27;22141:57;22177:15;;22193:3;22177:20;;;;;;;:::i;22141:57::-;:88;;;;;;;;:::i;:::-;;22137:938;;22250:34;22287:58;22324:15;;22340:3;22324:20;;;;;;;:::i;:::-;;;;;;;22287:36;:58::i;:::-;22377:19;;;;-1:-1:-1;22364:32:36;;-1:-1:-1;;;22377:19:36;;-1:-1:-1;;;;;22377:19:36;22364:32;;:::i;:::-;22419:21;;22364:32;;-1:-1:-1;;;;22419:21:36;;;;:25;22415:559;;22523:21;;22482:63;;22510:11;;-1:-1:-1;;;22523:21:36;;;;22482:27;:63::i;:::-;22469:76;;;;:::i;:::-;;;22415:559;;;22598:19;;;;:33;22594:361;;22673:49;22689:11;22702:9;:19;;;22673:15;:49::i;22594:361::-;22891:39;22907:11;22927:1;22891:15;:39::i;:::-;22878:52;;;;:::i;:::-;;;22594:361;23046:13;23006:37;:9;:19;;:35;:37::i;:::-;-1:-1:-1;;;;;23006:53:36;;;;;:::i;:::-;22992:67;;;;:::i;:::-;;;22231:844;22137:938;22114:6;;22065:1021;;;;21752:1341;;;;;;;;;:::o;9033:419::-;9207:49;;-1:-1:-1;;;9207:49:36;;;;;2495:25:84;;;9158:7:36;;;;-1:-1:-1;;;;;9207:8:36;:40;;;;2468:18:84;;9207:49:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9183:73;;9267:81;9307:1;9290:14;:18;;;9267:81;;;;;;;;;;;;;-1:-1:-1;;;9267:81:36;;;:8;:81::i;:::-;9366:78;9396:8;9419:14;9366:15;:78::i;:::-;9359:85;9033:419;-1:-1:-1;;;;9033:419:36:o;19674:853::-;20127:22;19953:10;19965:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1658:102;;;;;1759:1;1739:17;:21;;;1658:102;1635:169;;;;;;;;;;;;;-1:-1:-1;;;1635:169:36;;;:8;:169::i;:::-;20010:68:::1;3174:1:33::0;20038:14:36::1;20055:22;20010:27;:68::i;:::-;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;20098:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;20184:110:::3;20220:1;20237:9:::0;20261:22;20184:13:::3;:110::i;:::-;20167:127;;20375:24;;20305:52;20342:14;20305:36;:52::i;:::-;:67;;::::0;:94:::3;::::0;;:67;:94:::3;:::i;:::-;-1:-1:-1::0;20415:104:36::3;20441:14:::0;4679:9:37;20499::36::3;20415:104;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;19674:853:::0;;;;;;;;:::o;12906:974::-;-1:-1:-1;;;;;;;;;;;;;;;;;13068:31:36;13102:59;13146:14;13102:43;:59::i;:::-;13068:93;;13176:15;:29;13206:7;13215:53;13253:14;13215:37;:53::i;:::-;:69;;13176:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13176:109:36;;;;;;;;;;;;:::i;:::-;;;13172:701;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13471:172;;;;;;;;;;-1:-1:-1;13471:172:36;;;;13618:7;13580:46;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13580:46:36;;;;;;;;;13471:172;;13464:179;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;;;;;;;;;;;;;;13701:160;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;13057:823;12906:974;;;:::o;10307:190::-;10408:21;;:::i;:::-;10454:35;;;;-1:-1:-1;;;;;;;;;;;10454:35:36;;;;;;;10447:42;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;;;;;10447:42:36;;;;;10454:19;10447:42;;;;;;;;;;10454:35;;10447:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;-1:-1:-1;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;10447:42:36;10307:190;-1:-1:-1;;10307:190:36:o;25776:1038::-;26143:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;26080:14;26096:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;26199:164:::2;26252:1;26222:27;:31;;;:99;;;;;26306:15;26275:27;:46;;;;26222:99;26199:164;;;;;;;;;;;;;-1:-1:-1::0;;;26199:164:36::2;;::::0;:8:::2;:164::i;:::-;26410:113;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;26410:113:36::2;::::0;::::2;::::0;::::2;::::0;26433:39;;::::2;::::0;26410:8:::2;:113::i;:::-;26617:189;26655:14;26684:27;26726;26768;;26617:23;:189::i;:::-;26609:197;;2575:1;3081::::1;;25776:1038:::0;;;;;;;:::o;719:132:33:-;807:36;;;;;;;;;;;;;;;;;;719:132::o;14657:146:36:-;14742:7;-1:-1:-1;;;;;;;;;;;14774:17:36;:21;;14794:1;14774:21;:::i;17568:726::-;17999:22;17825:10;17837:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;10404:203:84;1635:169:36;17882:68:::1;3174:1:33::0;17910:14:36::1;3051:132:33::0;17882:68:36::1;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;17970:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;18056:109:::3;18084:9;18108;18132:22;18056:13;:109::i;:::-;18039:126:::0;-1:-1:-1;18181:105:36::3;18039:126:::0;4679:9:37;18266::36::3;18181:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;17568:726:::0;;;;;;;:::o;20769:423::-;20900:14;20916:27;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;2486:62::-;20769:423;;;:::o;2413:173::-;20961:34:::1;20998:52;21035:14;20998:36;:52::i;:::-;20961:89:::0;-1:-1:-1;4679:9:37;21061:45:36;;;;:19:::1;::::0;:45:::1;::::0;;;-1:-1:-1;;;21061:45:36;::::1;-1:-1:-1::0;;;;;21061:45:36::1;;:::i;:::-;::::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;21061:45:36;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;21164:19;;21122:62:::1;::::0;;36607:25:84;;;-1:-1:-1;;;21164:19:36;;::::1;::::0;;::::1;36663:2:84::0;36648:18;;36641:61;21122:62:36::1;::::0;-1:-1:-1;36580:18:84;21122:62:36::1;;;;;;;20950:242;20769:423:::0;;;:::o;1107:181:79:-;1531:13:1;:11;:13::i;:::-;1197::79::1;:24:::0;;-1:-1:-1;;;;;1197:24:79;::::1;-1:-1:-1::0;;;;;;1197:24:79;;::::1;::::0;::::1;::::0;;;1262:7:::1;1684::1::0;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;1262:7:79::1;-1:-1:-1::0;;;;;1237:43:79::1;;;;;;;;;;;1107:181:::0;:::o;11403:225:36:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11567:53:36;11605:14;11567:37;:53::i;:::-;11560:60;;;;;;;;;;-1:-1:-1;;;;;11560:60:36;;;;-1:-1:-1;;;11560:60:36;;-1:-1:-1;;;;;11560:60:36;;;;;-1:-1:-1;;;11560:60:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11403:225;;;:::o;3152:922:37:-;3299:7;;3443:23;3447:19;3443:1;:23;:::i;:::-;3384:82;;:39;:82;:::i;:::-;3324:153;;3526:37;3506:17;:57;;;:171;;;-1:-1:-1;3640:37:37;3584:53;;;;:33;:53;:::i;:::-;:93;3506:171;3488:579;;;3730:70;3763:37;3730:9;:70;:::i;:::-;3704:111;;;;;3488:579;3935:82;;;;:33;:82;:::i;:::-;3874:166;;:9;:166;:::i;2565:204:28:-;2706:10;2701:61;;2733:17;2741:8;2733:7;:17::i;:::-;2565:204;;:::o;1886:617:41:-;1951:20;2017:23;;;-1:-1:-1;;;;;;;;;;;2017:23:41;;;;;2055:16;;;:32;-1:-1:-1;;;2055:32:41;;;;:37;2051:445;;2129:16;;;:25;-1:-1:-1;;;2129:25:41;;-1:-1:-1;;;;;2129:25:41;2113:12;:41;2109:196;;-1:-1:-1;2182:30:41;;1886:617;-1:-1:-1;;1886:617:41:o;2109:196::-;-1:-1:-1;2260:29:41;;1886:617;-1:-1:-1;;1886:617:41:o;2051:445::-;2326:25;;-1:-1:-1;;;;;2326:25:41;:39;2322:174;;-1:-1:-1;2389:27:41;;1886:617;-1:-1:-1;;1886:617:41:o;2322:174::-;-1:-1:-1;2456:28:41;;1886:617;-1:-1:-1;;1886:617:41:o;32022:2928:36:-;32295:18;32404:34;32441:52;32478:14;32441:36;:52::i;:::-;32570:19;;-1:-1:-1;;;;;32680:23:36;;;;;-1:-1:-1;;;32570:19:36;;;-1:-1:-1;;;;;32570:19:36;;-1:-1:-1;32570:19:36;;-1:-1:-1;;;;32774:21:36;;;;:25;32770:2173;;33195:19;;32835:29;;;;;;32983:286;;33024:14;;32983:286;;;;33103:27;;33149;;;;-1:-1:-1;;;;;33195:19:36;;;-1:-1:-1;;;33233:21:36;;;;32983:22;:286::i;:::-;32816:453;;;;;;33288:19;33284:785;;;33386:165;;;36915:25:84;;;3174:1:33;36971:2:84;36956:18;;36949:34;36999:18;;;36992:34;;;33386:165:36;;;;;;;36903:2:84;33386:165:36;;;33284:785;;;33642:411;33698:14;33735:27;;3174:1:33;33822:21:36;33908:1;33872:25;33866:39;:43;:168;;;;;;;;;;;;;;;;;;;;;;33938:25;33866:168;33642:411;;;;;;;;;;;:::i;:::-;;;;;;;;33284:785;34271:187;34310:14;34344:27;34391;34271:187;;;;;;;;;;;;:20;:187::i;:::-;32801:1669;;;32770:2173;;;34539:101;34577:14;3174:1:33;34539:101:36;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;34539:101:36;;;;;;;34725:206;34764:14;34797:27;34843;34889;;34725:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34725:20:36;;-1:-1:-1;;;34725:206:36:i;:::-;32320:2630;32022:2928;;;;;;;:::o;4837:162:37:-;4961:30;;-1:-1:-1;;;;;4961:21:37;;;:30;;;;;4983:7;;4961:30;;;;4983:7;4961:21;:30;;;;;;;;;;;;;;;;;;;1507:151:41;1574:24;1618;;;-1:-1:-1;;;;;;;;;;;1618:24:41;;;;;;1507:151::o;2511:1151::-;2584:23;2620:33;2656:24;2672:7;2656:15;:24::i;:::-;2620:60;-1:-1:-1;2711:30:41;2695:12;:46;;;;;;;;:::i;:::-;;2691:964;;2758:26;2787:23;;;-1:-1:-1;;;;;;;;;;;2787:23:41;;;;;:48;;2854:19;;2787:48;;2758:26;2787:48;;2854:19;;;:::i;:::-;;;:23;2850:480;;;2996:15;;-1:-1:-1;;;3015:12:41;2996;;3009:1;;2996:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2996:15:41;-1:-1:-1;;;;;2996:31:41;;;:138;;3105:29;2996:138;;;3051:29;2988:165;2511:1151;-1:-1:-1;;;;2511:1151:41:o;2850:480::-;-1:-1:-1;3281:33:41;;2511:1151;-1:-1:-1;;;2511:1151:41:o;2691:964::-;3367:27;3351:12;:43;;;;;;;;:::i;:::-;;3347:308;;-1:-1:-1;3418:32:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;3347:308::-;3488:29;3472:12;:45;;;;;;;;:::i;:::-;;3468:187;;-1:-1:-1;3541:34:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;1796:162:1:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:1;735:10:3;1855:23:1;1851:101;;1901:40;;-1:-1:-1;;;1901:40:1;;735:10:3;1901:40:1;;;10550:51:84;10523:18;;1901:40:1;10404:203:84;3081:220:70;3144:4;;3183:24;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3183:28:70;;:71;;;;-1:-1:-1;3253:1:70;3233:17;;;;:3;:17;:::i;:::-;:21;;;3183:71;:99;;;;-1:-1:-1;3279:3:70;3258:17;;;;:3;:17;:::i;:::-;:24;;;;3161:132;3081:220;-1:-1:-1;;3081:220:70:o;31305:709:36:-;31449:22;-1:-1:-1;;;;;;;;;;;31506:20:36;;31509:17;;31506:20;;;:::i;:::-;;;;;-1:-1:-1;31506:20:36;-1:-1:-1;31575:34:36;31612:52;31506:20;31612:36;:52::i;:::-;31684:19;;31675:61;;;;;;;;;;;;-1:-1:-1;;;31675:61:36;;;;31684:19;;-1:-1:-1;31675:61:36;;-1:-1:-1;;;;;31684:19:36;;;:33;;31675:8;:61::i;:::-;31762:32;;4679:9:37;-1:-1:-1;;;;;31865:44:36;-1:-1:-1;;;31865:44:36;-1:-1:-1;;;;;;31809:41:36;;;31784:10;-1:-1:-1;;;;31809:41:36;;-1:-1:-1;;;31809:41:36;;;;;-1:-1:-1;;;;;31865:44:36;;;;31924:19;;;:30;;;31991:4;31969:19;;;:26;31991:4;31969:19;:26;:::i;:::-;;;;31478:536;31305:709;;;;;:::o;1478:156:79:-;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;38665:306:36:-;38765:7;38760:164;38783:10;:17;38778:2;:22;38760:164;;;38824:17;38844:10;38855:2;38844:14;;;;;;;;:::i;:::-;;;;;;;38824:34;;38908:4;38873:11;-1:-1:-1;;;;;;;;;;;1097:28:41;2176:135:28;38873:11:36;-1:-1:-1;;;;;38873:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;38873:39:36;;;;;;;;;;-1:-1:-1;38802:5:36;38760:164;;;;38939:24;38952:10;38939:24;;;;;;:::i;3059:372:28:-;3137:13;3168:19;3200:25;3216:8;3200:15;:25::i;:::-;-1:-1:-1;;;;;3190:36:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3190:36:28;;3168:58;;3242:7;3237:155;3260:6;:13;3255:2;:18;3237:155;;;3304:8;3313:2;3304:12;;;;;;;:::i;:::-;;;;3291:6;3298:2;3291:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;3291:25:28;;;;;;;;-1:-1:-1;3360:5:28;;3237:155;;34958:659:36;35240:18;35289:183;35318:14;35348:27;35391;35434;;35289:14;:183::i;:::-;35276:196;;35523:86;35562:10;35588;35523:16;:86::i;:::-;34958:659;;;;;;;:::o;2495:370:37:-;2627:7;2825:2;2777:19;;;;:44;;2803:18;2820:1;2803:14;:18;:::i;:::-;2777:44;;;2799:1;2777:44;2776:51;;;;:::i;:::-;2772:55;;:1;:55;:::i;:::-;2727:119;;;;:19;:119;:::i;:::-;2686:160;;:21;:160;:::i;:::-;2659:198;;:9;:198;:::i;1724:154:41:-;1792:25;1837:24;;;-1:-1:-1;;;;;;;;;;;1837:24:41;;;;;:33;;;1724:154::o;3745:157:70:-;3871:18;;3816:6;;3871:22;;:18;;3892:1;3871:22;:::i;:::-;3842:25;;:52;;;;;:25;;;-1:-1:-1;;;;;3842:25:70;:52;:::i;35625:3032:36:-;35999:29;36044:24;36084:39;36175:9;36151:33;-1:-1:-1;;;;36199:27:36;;36227:1;36199:30;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;36199:46:36;;;36195:2410;;36262:32;36297:61;:49;36318:27;;36297:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;36297:20:36;;-1:-1:-1;;;36297:49:36:i;:::-;:59;:61::i;:::-;36262:96;;36394:1;36377:7;:14;:18;36373:1621;;;36497:13;-1:-1:-1;;;;;36481:53:36;;36540:20;36584:14;36621:27;36671;36721:12;36756:31;36810:318;;;;;;;;36861:46;;;;;;;;;;;;;;;;;;;;;;;;36904:1;36861:46;;;36810:318;;;;36947:1;36810:318;;;;;;36986:1;36810:318;;;;;;37037:1;36810:318;;;;;;37070:1;-1:-1:-1;;;;;36810:318:36;;;;;37103:1;-1:-1:-1;;;;;36810:318:36;;;;36481:666;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36477:846;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;37300:3;-1:-1:-1;36373:1621:36;;36477:846;;;;;;;;;;;37193:4;37171:26;;36373:1621;;;37445:13;-1:-1:-1;;;;;37429:53:36;;37488:20;37532:14;37569:27;37619;37669:12;37728:21;:7;37736:1;37728:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;37704:46;;;;;;;;:::i;:::-;37773:7;37781:1;37773:10;;;;;;;;:::i;:::-;;;;;;;37429:373;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37425:554;;;;:::i;:::-;37848:4;37826:26;;37425:554;36247:1758;36195:2410;;;38106:13;-1:-1:-1;;;;;38090:54:36;;38150:20;38190:14;38223:27;38269;38315:12;38346:49;38367:27;;38346:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38346:20:36;;-1:-1:-1;;;38346:49:36:i;:::-;38090:320;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38086:508;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;38551:3;-1:-1:-1;38086:508:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38571:23;38086:508;;;38452:4;38430:26;;38086:508;38640:9;38615:34;;;;:::i;:::-;;;35625:3032;;;;;;;;;;;:::o;39206:630::-;39541:287;;;;;;;;39584:10;-1:-1:-1;;;;;39541:287:36;;;;;39626:12;-1:-1:-1;;;;;39541:287:36;;;;;39671:27;39541:287;;;;;;39730:27;39541:287;;;;39789:27;39541:287;;;39484:45;39514:14;39484:29;:45::i;:::-;:344;;:54;;;:344;;;;;;;;;;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;;;;;39484:344:36;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;39484:344:36;;;-1:-1:-1;;;;;39484:344:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:54;;:344;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;39206:630:36:o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;3503:307:28:-;3587:12;3617:186;3634:2;3624:7;:12;3617:186;;;3659:8;3668:7;3659:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;3659:22:28;3655:68;3702:5;3655:68;3766:10;;3617:186;;;3503:307;;;:::o;2488:204:66:-;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;6109:1231::-;6220:19;6182:4;1170:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310:266:84;1765:101:66;6336:10:::1;6349:51;6360:4;:11;;;6373:4;:26;;;6349:10;:51::i;:::-;6336:64:::0;-1:-1:-1;6426:7:66::1;6336:64:::0;6432:1:::1;6426:7;:::i;:::-;-1:-1:-1::0;;;;;6415:19:66::1;-1:-1:-1::0;;;;;6415:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6407:27;;6446:7;6441:739;6464:3;-1:-1:-1::0;;;;;6459:8:66::1;:2;:8;6441:739;;;6536:13;:4;:11;:13::i;:::-;6529:20;;6635:11;:4;:9;:11::i;:::-;6623:5;6629:2;6623:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1170:1;6659:34;;:4;:14;;;:34;;::::0;6655:518:::1;;6706:23;6732:16;:4;:14;:16::i;:::-;6706:42;;6831:9;6860:1;6841:9;:16;:20;;;;:::i;:::-;6831:31;;;;;;;;:::i;:::-;;;;;;;6824:38;;6695:177;6655:518;;;1217:1;6882:32;;:4;:14;;;:32;;::::0;6878:295:::1;;6927:23;6953:14;:4;:12;:14::i;6878:295::-;7152:11;:4;:9;:11::i;:::-;;6878:295;6469:5;;6441:739;;;;7330:4;7317:5;7323:3;-1:-1:-1::0;;;;;7317:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6244:1096;6109:1231:::0;;;;;:::o;17859:209::-;17967:4;17931;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310:266:84;1765:101:66;17990:72:::1;18009:4;:11;;;18029:4;:26;;;17990:10;:72::i;:::-;-1:-1:-1::0;;;;;17983:79:66::1;::::0;17859:209;-1:-1:-1;;;;17859:209:66:o;3010:1033::-;3120:11;;:::i;:::-;1949;;:18;3098:6;;1949:11;:23;1945:79;;1990:26;;-1:-1:-1;;;1990:26:66;;;;;;;;;;;1945:79;3143:17:::1;3185:3;3143:17:::0;-1:-1:-1;;;;;3143:17:66;3293:4:::1;3304:492;3311:8;3304:492;;;3401:18;:6;:16;:18::i;:::-;3387:32:::0;-1:-1:-1;3428:6:66;::::1;::::0;::::1;:::i;:::-;3455:16:::0;3470:1:::1;3455:16:::0;;;;;-1:-1:-1;3518:4:66::1;3504:18:::0;::::1;::::0;-1:-1:-1;3428:6:66;-1:-1:-1;;;;3569:27:66;;3565:224:::1;;3624:13;::::0;::::1;::::0;3654:41:::1;3624:6:::0;3673:21;3654:10:::1;:41::i;:::-;3648:47;;3729:7;3713:6;:13;;;:23;;;;:::i;:::-;3706:30;::::0;;::::1;:::i;:::-;;;3598:148;3304:492;;3565:224;-1:-1:-1::0;3774:5:66::1;3304:492;;;1320:1;3806:35;::::0;::::1;;3802:96;;;3859:31;::::0;-1:-1:-1;;;3859:31:66;;43940:4:84;43928:17;;3859:31:66::1;::::0;::::1;43910:36:84::0;43883:18;;3859:31:66::1;43766:186:84::0;3802:96:66::1;-1:-1:-1::0;3911:126:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3911:126:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3911:126:66;;3010:1033;-1:-1:-1;3010:1033:66:o;8833:697::-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:66;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;:::-;9360:26;;;;9318:76;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:66;;9400:67;9480:44;;-1:-1:-1;;;9480:44:66;;43940:4:84;43928:17;;9480:44:66;;;43910:36:84;43883:18;;9480:44:66;43766:186:84;4400:208:66;4471:22;;:::i;:::-;2152:11;;:16;;:23;2130:18;;;;;:45;;4505:98;;4549:11;;4538:23;;:10;:23::i;4505:98::-;-1:-1:-1;4591:4:66;4400:208::o;4049:345::-;4125:22;;:::i;:::-;4166:222;;;;;;;;;4188:11;;-1:-1:-1;;;;;;;;;;;;;;2776:55:65;;;;;;;;2791:11;;2776:55;;-1:-1:-1;2811:13:65;;;;2776:55;;;;4166:222:66;;;;;;;4228:4;:16;;;4166:222;;;;;;4264:4;:14;;;4166:222;;;;;;4310:4;:26;;;4166:222;;;;;;4350:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;;4372:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;4159:229;;4049:345;;;:::o;7346:1309::-;7453:19;7417:4;1217:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310:266:84;1765:101:66;7585:10:::1;7598:51;7609:4;:11;;;7622:4;:26;;;7598:10;:51::i;:::-;:55;::::0;7652:1:::1;7598:55;:::i;:::-;7585:68:::0;-1:-1:-1;7679:7:66::1;7585:68:::0;7685:1:::1;7679:7;:::i;:::-;-1:-1:-1::0;;;;;7668:19:66::1;-1:-1:-1::0;;;;;7668:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7660:27;;7699:7;7694:801;7717:3;-1:-1:-1::0;;;;;7712:8:66::1;:2;:8;7694:801;;;7789:13;:4;:11;:13::i;:::-;7782:20;;7888:11;:4;:9;:11::i;:::-;7876:5;7882:2;7876:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7912:6:::1;7917:1;7912:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7927:14:66::1;::::0;::::1;::::0;:35:::1;;1121:1;7927:35;;7912:50;7908:580;;;8002:14;::::0;;::::1;::::0;7982:54;;-1:-1:-1;;;7982:54:66;;43510:4:84;43498:17;;;7982:54:66::1;::::0;::::1;43480:36:84::0;1121:1:66::1;43532:18:84::0;;;43525:45;43453:18;;7982:54:66::1;43310:266:84::0;7908:580:66::1;8056:14;::::0;::::1;::::0;:34:::1;;1170:1;8056:34;::::0;:70:::1;;-1:-1:-1::0;8094:14:66::1;::::0;::::1;::::0;:32:::1;;1217:1;8094:32;8056:70;8052:436;;;8166:14;::::0;::::1;::::0;8139:23:::1;::::0;8166:34:::1;;1170:1;8166:34;:96;;8248:14;:4;:12;:14::i;:::-;8166:96;;;8216:16;:4;:14;:16::i;:::-;8139:134;;8363:9;8392:1;8373:9;:16;:20;;;;:::i;:::-;8363:31;;;;;;;;:::i;:::-;;;;;;;8356:38;;8128:276;8052:436;;;8467:11;:4;:9;:11::i;:::-;;8052:436;7722:5;;7694:801;;4614:1135:::0;4683:22;;:::i;:::-;4729:14;;;;:32;;;;:86;;-1:-1:-1;4774:14:66;;;;:41;;1022:1;4774:41;4729:86;:263;;;-1:-1:-1;4841:14:66;;;;:41;;1320:1;4841:41;:91;;;;;4930:2;4900:4;:26;;;:32;;;;4841:91;:140;;;;;4979:2;4949:4;:26;;;:32;;;;4841:140;4717:1009;;;5031:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;5009:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4591:4:66;4400:208::o;4717:1009::-;5076:14;;;;:35;;1121:1;5076:35;;:84;;-1:-1:-1;5126:14:66;;;;:34;;1071:1;5126:34;5076:84;5062:664;;;5177:10;5190:51;5201:4;:11;;;5214:4;:26;;;5190:10;:51::i;:::-;5177:64;;5272:3;-1:-1:-1;;;;;5250:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;5062:664:66;;-1:-1:-1;5062:664:66;;5301:14;;;;:34;;1170:1;5301:34;;:79;;-1:-1:-1;5348:14:66;;;;:32;;1217:1;5348:32;5301:79;5289:437;;;5409:51;5420:4;:11;;;5433:4;:26;;;5409:10;:51::i;:::-;-1:-1:-1;;;;;5398:62:66;:8;;;:62;-1:-1:-1;4591:4:66;4400:208::o;5289:437::-;5493:14;;;;:41;;1320:1;5493:41;;;:159;;;5560:4;:26;;;:32;;5590:2;5560:32;;:81;;;;;5609:4;:26;;;:32;;5639:2;5609:32;;5560:81;5480:246;;;5669:49;;-1:-1:-1;;;5669:49:66;;44276:2:84;5669:49:66;;;44258:21:84;44315:2;44295:18;;;44288:30;44354:34;44334:18;;;44327:62;-1:-1:-1;;;44405:18:84;;;44398:37;44452:19;;5669:49:66;44074:403:84;13731:315:65;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:65;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:65;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:65;;;-1:-1:-1;;;;;14288:323:65:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:65;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:65;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;5755:348:66:-:0;5826:6;5877:2;5848:4;:26;;;:31;;;5844:254;;;-1:-1:-1;5897:1:66;;5755:348;-1:-1:-1;5755:348:66:o;5844:254::-;5945:2;5916:4;:26;;;:31;;;5912:186;;;6007:2;5978:4;:26;;;:31;;;;:::i;:::-;5972:38;;:1;:38;;5958:53;;5755:348;;;:::o;5912:186::-;6063:26;;;;6041:49;;-1:-1:-1;;;6041:49:66;;43940:4:84;43928:17;;;6041:49:66;;;43910:36:84;43883:18;;6041:49:66;43766:186:84;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:250:84;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:84;238:16;;231:27;14:250::o;269:1072::-;-1:-1:-1;;;670:3:84;663:34;645:3;726:6;720:13;742:75;810:6;805:2;800:3;796:12;789:4;781:6;777:17;742:75;:::i;:::-;877:13;;836:16;;;;899:76;877:13;961:2;953:11;;946:4;934:17;;899:76;:::i;:::-;1036:13;;994:17;;;1058:76;1036:13;1120:2;1112:11;;1105:4;1093:17;;1058:76;:::i;:::-;1195:13;;1153:17;;;1217:76;1195:13;1279:2;1271:11;;1264:4;1252:17;;1217:76;:::i;:::-;1313:17;1332:2;1309:26;;269:1072;-1:-1:-1;;;;;;269:1072:84:o;1346:131::-;-1:-1:-1;;;;;1421:31:84;;1411:42;;1401:70;;1467:1;1464;1457:12;1482:247;1541:6;1594:2;1582:9;1573:7;1569:23;1565:32;1562:52;;;1610:1;1607;1600:12;1562:52;1649:9;1636:23;1668:31;1693:5;1668:31;:::i;1926:161::-;1993:20;;2053:8;2042:20;;2032:31;;2022:59;;2077:1;2074;2067:12;2092:252;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2272:9;2259:23;2249:33;;2301:37;2334:2;2323:9;2319:18;2301:37;:::i;:::-;2291:47;;2092:252;;;;;:::o;2531:387::-;2614:8;2624:6;2678:3;2671:4;2663:6;2659:17;2655:27;2645:55;;2696:1;2693;2686:12;2645:55;-1:-1:-1;2719:20:84;;-1:-1:-1;;;;;2751:30:84;;2748:50;;;2794:1;2791;2784:12;2748:50;2831:4;2823:6;2819:17;2807:29;;2891:3;2884:4;2874:6;2871:1;2867:14;2859:6;2855:27;2851:38;2848:47;2845:67;;;2908:1;2905;2898:12;2845:67;2531:387;;;;;:::o;2923:489::-;3041:6;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3158:9;3145:23;-1:-1:-1;;;;;3183:6:84;3180:30;3177:50;;;3223:1;3220;3213:12;3177:50;3262:90;3344:7;3335:6;3324:9;3320:22;3262:90;:::i;:::-;3371:8;;3236:116;;-1:-1:-1;2923:489:84;-1:-1:-1;;;;2923:489:84:o;3417:180::-;3476:6;3529:2;3517:9;3508:7;3504:23;3500:32;3497:52;;;3545:1;3542;3535:12;3497:52;-1:-1:-1;3568:23:84;;3417:180;-1:-1:-1;3417:180:84:o;3602:270::-;3643:3;3681:5;3675:12;3708:6;3703:3;3696:19;3724:76;3793:6;3786:4;3781:3;3777:14;3770:4;3763:5;3759:16;3724:76;:::i;:::-;3854:2;3833:15;-1:-1:-1;;3829:29:84;3820:39;;;;3861:4;3816:50;;3602:270;-1:-1:-1;;3602:270:84:o;3877:487::-;3993:1;3989;3984:3;3980:11;3976:19;3968:5;3962:12;3958:38;3953:3;3946:51;-1:-1:-1;;;;;4050:4:84;4043:5;4039:16;4033:23;4029:48;4022:4;4017:3;4013:14;4006:72;4139:10;4131:4;4124:5;4120:16;4114:23;4110:40;4103:4;4098:3;4094:14;4087:64;4200:4;4193:5;4189:16;4183:23;4176:4;4171:3;4167:14;4160:47;3928:3;4253:4;4246:5;4242:16;4236:23;4291:4;4284;4279:3;4275:14;4268:28;4312:46;4352:4;4347:3;4343:14;4329:12;4312:46;:::i;4369:263::-;4552:2;4541:9;4534:21;4515:4;4572:54;4622:2;4611:9;4607:18;4599:6;4572:54;:::i;4637:719::-;4752:1;4748;4743:3;4739:11;4735:19;4727:5;4721:12;4717:38;4712:3;4705:51;4817:8;4809:4;4802:5;4798:16;4792:23;4788:38;4781:4;4776:3;4772:14;4765:62;-1:-1:-1;;;;;4880:4:84;4873:5;4869:16;4863:23;4859:50;4852:4;4847:3;4843:14;4836:74;4687:3;4956:4;4949:5;4945:16;4939:23;4994:4;4987;4982:3;4978:14;4971:28;5020:46;5060:4;5055:3;5051:14;5037:12;5020:46;:::i;:::-;5008:58;;5115:4;5108:5;5104:16;5098:23;5091:4;5086:3;5082:14;5075:47;5170:4;5163:5;5159:16;5153:23;5235:4;5218:14;5212:21;5208:32;5201:4;5196:3;5192:14;5185:56;-1:-1:-1;;;;;5302:4:84;5286:14;5282:25;5276:32;5272:57;5266:3;5261;5257:13;5250:80;;5346:4;5339:11;;;4637:719;;;;:::o;5361:260::-;5542:2;5531:9;5524:21;5505:4;5562:53;5611:2;5600:9;5596:18;5588:6;5562:53;:::i;5626:127::-;5687:10;5682:3;5678:20;5675:1;5668:31;5718:4;5715:1;5708:15;5742:4;5739:1;5732:15;5758:145;5844:1;5837:5;5834:12;5824:46;;5850:18;;:::i;:::-;5879;;5758:145::o;5908:219::-;6060:2;6045:18;;6072:49;6049:9;6103:6;6072:49;:::i;6132:127::-;6193:10;6188:3;6184:20;6181:1;6174:31;6224:4;6221:1;6214:15;6248:4;6245:1;6238:15;6264:249;6374:2;6355:13;;-1:-1:-1;;6351:27:84;6339:40;;-1:-1:-1;;;;;6394:34:84;;6430:22;;;6391:62;6388:88;;;6456:18;;:::i;:::-;6492:2;6485:22;-1:-1:-1;;6264:249:84:o;6518:183::-;6578:4;-1:-1:-1;;;;;6603:6:84;6600:30;6597:56;;;6633:18;;:::i;:::-;-1:-1:-1;6678:1:84;6674:14;6690:4;6670:25;;6518:183::o;6706:1028::-;6790:6;6821:2;6864;6852:9;6843:7;6839:23;6835:32;6832:52;;;6880:1;6877;6870:12;6832:52;6920:9;6907:23;-1:-1:-1;;;;;6945:6:84;6942:30;6939:50;;;6985:1;6982;6975:12;6939:50;7008:22;;7061:4;7053:13;;7049:27;-1:-1:-1;7039:55:84;;7090:1;7087;7080:12;7039:55;7126:2;7113:16;7148:43;7188:2;7148:43;:::i;:::-;7220:2;7214:9;7232:31;7260:2;7252:6;7232:31;:::i;:::-;7298:18;;;7386:1;7382:10;;;;7374:19;;7370:28;;;7332:15;;;;-1:-1:-1;7410:19:84;;;7407:39;;;7442:1;7439;7432:12;7407:39;7466:11;;;;7486:217;7502:6;7497:3;7494:15;7486:217;;;7582:3;7569:17;7599:31;7624:5;7599:31;:::i;:::-;7643:18;;7519:12;;;;7681;;;;7486:217;;;7722:6;6706:1028;-1:-1:-1;;;;;;;6706:1028:84:o;7739:156::-;7800:5;7845:2;7836:6;7831:3;7827:16;7823:25;7820:45;;;7861:1;7858;7851:12;7900:309;7997:6;8005;8058:2;8046:9;8037:7;8033:23;8029:32;8026:52;;;8074:1;8071;8064:12;8026:52;8110:9;8097:23;8087:33;;8139:64;8195:7;8190:2;8179:9;8175:18;8139:64;:::i;8214:186::-;8262:4;-1:-1:-1;;;;;8287:6:84;8284:30;8281:56;;;8317:18;;:::i;:::-;-1:-1:-1;8383:2:84;8362:15;-1:-1:-1;;8358:29:84;8389:4;8354:40;;8214:186::o;8405:727::-;8473:6;8526:2;8514:9;8505:7;8501:23;8497:32;8494:52;;;8542:1;8539;8532:12;8494:52;8582:9;8569:23;-1:-1:-1;;;;;8607:6:84;8604:30;8601:50;;;8647:1;8644;8637:12;8601:50;8670:22;;8723:4;8715:13;;8711:27;-1:-1:-1;8701:55:84;;8752:1;8749;8742:12;8701:55;8788:2;8775:16;8810:31;8838:2;8810:31;:::i;:::-;8870:2;8864:9;8882:31;8910:2;8902:6;8882:31;:::i;:::-;8937:2;8929:6;8922:18;8977:7;8972:2;8967;8963;8959:11;8955:20;8952:33;8949:53;;;8998:1;8995;8988:12;8949:53;9054:2;9049;9045;9041:11;9036:2;9028:6;9024:15;9011:46;9099:1;9077:15;;;9094:2;9073:24;9066:35;;;;-1:-1:-1;9081:6:84;8405:727;-1:-1:-1;;;;8405:727:84:o;9599:800::-;9759:4;9788:2;9828;9817:9;9813:18;9858:2;9847:9;9840:21;9881:6;9916;9910:13;9947:6;9939;9932:22;9985:2;9974:9;9970:18;9963:25;;10047:2;10037:6;10034:1;10030:14;10019:9;10015:30;10011:39;9997:53;;10085:2;10077:6;10073:15;10106:1;10116:254;10130:6;10127:1;10124:13;10116:254;;;10223:2;10219:7;10207:9;10199:6;10195:22;10191:36;10186:3;10179:49;10251:39;10283:6;10274;10268:13;10251:39;:::i;:::-;10241:49;-1:-1:-1;10348:12:84;;;;10313:15;;;;10152:1;10145:9;10116:254;;;-1:-1:-1;10387:6:84;;9599:800;-1:-1:-1;;;;;;;9599:800:84:o;10794:219::-;10943:2;10932:9;10925:21;10906:4;10963:44;11003:2;10992:9;10988:18;10980:6;10963:44;:::i;11018:142::-;11101:1;11094:5;11091:12;11081:46;;11107:18;;:::i;11165:668::-;11351:2;11403:21;;;11473:13;;11376:18;;;11495:22;;;11322:4;;11351:2;11574:15;;;;11548:2;11533:18;;;11322:4;11617:190;11631:6;11628:1;11625:13;11617:190;;;11680:47;11723:3;11714:6;11708:13;11680:47;:::i;:::-;11782:15;;;;11747:12;;;;11653:1;11646:9;11617:190;;;-1:-1:-1;11824:3:84;;11165:668;-1:-1:-1;;;;;;11165:668:84:o;11838:347::-;11889:8;11899:6;11953:3;11946:4;11938:6;11934:17;11930:27;11920:55;;11971:1;11968;11961:12;11920:55;-1:-1:-1;11994:20:84;;-1:-1:-1;;;;;12026:30:84;;12023:50;;;12069:1;12066;12059:12;12023:50;12106:4;12098:6;12094:17;12082:29;;12158:3;12151:4;12142:6;12134;12130:19;12126:30;12123:39;12120:59;;;12175:1;12172;12165:12;12190:545;12278:6;12286;12294;12302;12355:2;12343:9;12334:7;12330:23;12326:32;12323:52;;;12371:1;12368;12361:12;12323:52;12407:9;12394:23;12384:33;;12464:2;12453:9;12449:18;12436:32;12426:42;;12519:2;12508:9;12504:18;12491:32;-1:-1:-1;;;;;12538:6:84;12535:30;12532:50;;;12578:1;12575;12568:12;12532:50;12617:58;12667:7;12658:6;12647:9;12643:22;12617:58;:::i;:::-;12190:545;;;;-1:-1:-1;12694:8:84;-1:-1:-1;;;;12190:545:84:o;12740:213::-;12889:2;12874:18;;12901:46;12878:9;12929:6;12901:46;:::i;13403:117::-;13488:6;13481:5;13477:18;13470:5;13467:29;13457:57;;13510:1;13507;13500:12;13525:313;13592:6;13600;13653:2;13641:9;13632:7;13628:23;13624:32;13621:52;;;13669:1;13666;13659:12;13621:52;13705:9;13692:23;13682:33;;13765:2;13754:9;13750:18;13737:32;13778:30;13802:5;13778:30;:::i;:::-;13827:5;13817:15;;;13525:313;;;;;:::o;14065:902::-;14189:6;14197;14205;14213;14221;14229;14282:3;14270:9;14261:7;14257:23;14253:33;14250:53;;;14299:1;14296;14289:12;14250:53;14339:9;14326:23;-1:-1:-1;;;;;14409:2:84;14401:6;14398:14;14395:34;;;14425:1;14422;14415:12;14395:34;14464:90;14546:7;14537:6;14526:9;14522:22;14464:90;:::i;:::-;14573:8;;-1:-1:-1;14438:116:84;-1:-1:-1;14661:2:84;14646:18;;14633:32;;-1:-1:-1;14677:16:84;;;14674:36;;;14706:1;14703;14696:12;14674:36;;14745:60;14797:7;14786:8;14775:9;14771:24;14745:60;:::i;:::-;14065:902;;;;-1:-1:-1;14824:8:84;14906:2;14891:18;;14878:32;;14957:2;14942:18;;;14929:32;;-1:-1:-1;14065:902:84;-1:-1:-1;;;;14065:902:84:o;15225:248::-;15293:6;15301;15354:2;15342:9;15333:7;15329:23;15325:32;15322:52;;;15370:1;15367;15360:12;15322:52;-1:-1:-1;;15393:23:84;;;15463:2;15448:18;;;15435:32;;-1:-1:-1;15225:248:84:o;15478:611::-;15594:6;15602;15610;15618;15671:3;15659:9;15650:7;15646:23;15642:33;15639:53;;;15688:1;15685;15678:12;15639:53;15728:9;15715:23;-1:-1:-1;;;;;15753:6:84;15750:30;15747:50;;;15793:1;15790;15783:12;15747:50;15832:58;15882:7;15873:6;15862:9;15858:22;15832:58;:::i;:::-;15909:8;;-1:-1:-1;15806:84:84;-1:-1:-1;15963:64:84;;-1:-1:-1;16019:7:84;16014:2;15999:18;;15963:64;:::i;:::-;15953:74;;16046:37;16079:2;16068:9;16064:18;16046:37;:::i;:::-;16036:47;;15478:611;;;;;;;:::o;16094:149::-;16182:3;16175:5;16172:14;16162:48;;16190:18;;:::i;16248:435::-;16437:2;16426:9;16419:21;16449:67;16512:2;16501:9;16497:18;16488:6;16482:13;16449:67;:::i;:::-;16400:4;16563:2;16555:6;16551:15;16545:22;16605:4;16598;16587:9;16583:20;16576:34;16627:50;16673:2;16662:9;16658:18;16644:12;16627:50;:::i;16688:546::-;16865:2;16854:9;16847:21;16828:4;16903:6;16897:13;16946:4;16941:2;16930:9;16926:18;16919:32;16974:59;17029:2;17018:9;17014:18;17000:12;16974:59;:::i;:::-;16960:73;;17082:2;17074:6;17070:15;17064:22;17156:2;17152:7;17140:9;17132:6;17128:22;17124:36;17117:4;17106:9;17102:20;17095:66;17178:50;17221:6;17205:14;17178:50;:::i;17239:163::-;17306:20;;17366:10;17355:22;;17345:33;;17335:61;;17392:1;17389;17382:12;17407:618;17503:6;17511;17519;17527;17535;17588:3;17576:9;17567:7;17563:23;17559:33;17556:53;;;17605:1;17602;17595:12;17556:53;17641:9;17628:23;17618:33;;17670:37;17703:2;17692:9;17688:18;17670:37;:::i;:::-;17660:47;;17754:2;17743:9;17739:18;17726:32;17716:42;;17809:2;17798:9;17794:18;17781:32;-1:-1:-1;;;;;17828:6:84;17825:30;17822:50;;;17868:1;17865;17858:12;17822:50;17907:58;17957:7;17948:6;17937:9;17933:22;17907:58;:::i;:::-;17407:618;;;;-1:-1:-1;17407:618:84;;-1:-1:-1;17984:8:84;;17881:84;17407:618;-1:-1:-1;;;17407:618:84:o;18488:382::-;18593:6;18601;18609;18662:3;18650:9;18641:7;18637:23;18633:33;18630:53;;;18679:1;18676;18669:12;18630:53;18715:9;18702:23;18692:33;;18744:64;18800:7;18795:2;18784:9;18780:18;18744:64;:::i;:::-;18734:74;;18827:37;18860:2;18849:9;18845:18;18827:37;:::i;:::-;18817:47;;18488:382;;;;;:::o;18875:641::-;19155:3;19193:6;19187:13;19209:66;19268:6;19263:3;19256:4;19248:6;19244:17;19209:66;:::i;:::-;-1:-1:-1;;;19297:16:84;;;19322:19;;;19366:13;;19388:78;19366:13;19453:1;19442:13;;19435:4;19423:17;;19388:78;:::i;:::-;19486:20;19508:1;19482:28;;18875:641;-1:-1:-1;;;;18875:641:84:o;19521:127::-;19582:10;19577:3;19573:20;19570:1;19563:31;19613:4;19610:1;19603:15;19637:4;19634:1;19627:15;19653:127;19714:10;19709:3;19705:20;19702:1;19695:31;19745:4;19742:1;19735:15;19769:4;19766:1;19759:15;19785:165;19823:1;19857:4;19854:1;19850:12;19881:3;19871:37;;19888:18;;:::i;:::-;19940:3;19933:4;19930:1;19926:12;19922:22;19917:27;;;19785:165;;;;:::o;19955:148::-;20043:4;20022:12;;;20036;;;20018:31;;20061:13;;20058:39;;;20077:18;;:::i;20108:157::-;20138:1;20172:4;20169:1;20165:12;20196:3;20186:37;;20203:18;;:::i;:::-;20255:3;20248:4;20245:1;20241:12;20237:22;20232:27;;;20108:157;;;;:::o;20270:127::-;20331:10;20326:3;20322:20;20319:1;20312:31;20362:4;20359:1;20352:15;20386:4;20383:1;20376:15;20402:330;20500:4;20558:11;20545:25;20652:3;20648:8;20637;20621:14;20617:29;20613:44;20593:18;20589:69;20579:97;;20672:1;20669;20662:12;20579:97;20693:33;;;;;20402:330;-1:-1:-1;;20402:330:84:o;20963:489::-;21017:5;21070:3;21063:4;21055:6;21051:17;21047:27;21037:55;;21088:1;21085;21078:12;21037:55;21117:6;21111:13;21143:31;21171:2;21143:31;:::i;:::-;21203:2;21197:9;21215:31;21243:2;21235:6;21215:31;:::i;:::-;21270:2;21262:6;21255:18;21316:3;21309:4;21304:2;21296:6;21292:15;21288:26;21285:35;21282:55;;;21333:1;21330;21323:12;21282:55;21346:76;21419:2;21412:4;21404:6;21400:17;21393:4;21385:6;21381:17;21346:76;:::i;21457:337::-;21537:6;21590:2;21578:9;21569:7;21565:23;21561:32;21558:52;;;21606:1;21603;21596:12;21558:52;21639:9;21633:16;-1:-1:-1;;;;;21664:6:84;21661:30;21658:50;;;21704:1;21701;21694:12;21658:50;21727:61;21780:7;21771:6;21760:9;21756:22;21727:61;:::i;21799:290::-;21976:6;21965:9;21958:25;22019:2;22014;22003:9;21999:18;21992:30;21939:4;22039:44;22079:2;22068:9;22064:18;22056:6;22039:44;:::i;22094:184::-;22152:6;22205:2;22193:9;22184:7;22180:23;22176:32;22173:52;;;22221:1;22218;22211:12;22173:52;22244:28;22262:9;22244:28;:::i;22283:521::-;22360:4;22366:6;22426:11;22413:25;22520:2;22516:7;22505:8;22489:14;22485:29;22481:43;22461:18;22457:68;22447:96;;22539:1;22536;22529:12;22447:96;22566:33;;22618:20;;;-1:-1:-1;;;;;;22650:30:84;;22647:50;;;22693:1;22690;22683:12;22647:50;22726:4;22714:17;;-1:-1:-1;22757:14:84;22753:27;;;22743:38;;22740:58;;;22794:1;22791;22784:12;22809:473;23041:3;23079:6;23073:13;23095:66;23154:6;23149:3;23142:4;23134:6;23130:17;23095:66;:::i;:::-;-1:-1:-1;;;23183:16:84;;23208:38;;;-1:-1:-1;23273:2:84;23262:14;;22809:473;-1:-1:-1;22809:473:84:o;23287:125::-;23352:9;;;23373:10;;;23370:36;;;23386:18;;:::i;23417:380::-;23496:1;23492:12;;;;23539;;;23560:61;;23614:4;23606:6;23602:17;23592:27;;23560:61;23667:2;23659:6;23656:14;23636:18;23633:38;23630:161;;23713:10;23708:3;23704:20;23701:1;23694:31;23748:4;23745:1;23738:15;23776:4;23773:1;23766:15;23802:658;23973:2;24025:21;;;24095:13;;23998:18;;;24117:22;;;23944:4;;23973:2;24196:15;;;;24170:2;24155:18;;;23944:4;24239:195;24253:6;24250:1;24247:13;24239:195;;;24318:13;;-1:-1:-1;;;;;24314:39:84;24302:52;;24409:15;;;;24374:12;;;;24350:1;24268:9;24239:195;;24465:168;24538:9;;;24569;;24586:15;;;24580:22;;24566:37;24556:71;;24607:18;;:::i;24638:114::-;24722:4;24715:5;24711:16;24704:5;24701:27;24691:55;;24742:1;24739;24732:12;24757:129;-1:-1:-1;;;;;24835:5:84;24831:30;24824:5;24821:41;24811:69;;24876:1;24873;24866:12;24891:629;25150:25;;;25206:2;25191:18;;25184:34;;;25137:3;25122:19;;25240:20;;25269:29;25240:20;25269:29;:::i;:::-;25345:4;25334:16;25329:2;25314:18;;25307:44;25400:2;25388:15;;25375:29;25413:32;25375:29;25413:32;:::i;:::-;-1:-1:-1;;;;;25485:7:84;25481:32;25476:2;25465:9;25461:18;25454:60;;24891:629;;;;;;:::o;25525:472::-;25621:6;25629;25682:2;25670:9;25661:7;25657:23;25653:32;25650:52;;;25698:1;25695;25688:12;25650:52;25730:9;25724:16;25749:31;25774:5;25749:31;:::i;:::-;25848:2;25833:18;;25827:25;25799:5;;-1:-1:-1;;;;;;25864:30:84;;25861:50;;;25907:1;25904;25897:12;25861:50;25930:61;25983:7;25974:6;25963:9;25959:22;25930:61;:::i;:::-;25920:71;;;25525:472;;;;;:::o;26002:1018::-;26097:6;26128:2;26171;26159:9;26150:7;26146:23;26142:32;26139:52;;;26187:1;26184;26177:12;26139:52;26220:9;26214:16;-1:-1:-1;;;;;26245:6:84;26242:30;26239:50;;;26285:1;26282;26275:12;26239:50;26308:22;;26361:4;26353:13;;26349:27;-1:-1:-1;26339:55:84;;26390:1;26387;26380:12;26339:55;26419:2;26413:9;26441:43;26481:2;26441:43;:::i;:::-;26513:2;26507:9;26525:31;26553:2;26545:6;26525:31;:::i;:::-;26591:18;;;26679:1;26675:10;;;;26667:19;;26663:28;;;26625:15;;;;-1:-1:-1;26703:19:84;;;26700:39;;;26735:1;26732;26725:12;26700:39;26759:11;;;;26779:210;26795:6;26790:3;26787:15;26779:210;;;26868:3;26862:10;26885:31;26910:5;26885:31;:::i;:::-;26929:18;;26812:12;;;;26967;;;;26779:210;;27025:290;27094:6;27147:2;27135:9;27126:7;27122:23;27118:32;27115:52;;;27163:1;27160;27153:12;27115:52;27189:16;;-1:-1:-1;;;;;;27234:32:84;;27224:43;;27214:71;;27281:1;27278;27271:12;27320:271;27410:6;27463:2;27451:9;27442:7;27438:23;27434:32;27431:52;;;27479:1;27476;27469:12;27431:52;27511:9;27505:16;27530:31;27555:5;27530:31;:::i;27882:578::-;-1:-1:-1;;;;;28137:32:84;;28119:51;;28206:2;28201;28186:18;;28179:30;;;28225:18;;28218:34;;;-1:-1:-1;;;;;;28264:31:84;;28261:51;;;28308:1;28305;28298:12;28261:51;28342:6;28339:1;28335:14;28399:6;28391;28386:2;28375:9;28371:18;28358:48;28427:22;;;;28451:2;28423:31;;27882:578;-1:-1:-1;;;;27882:578:84:o;28465:1195::-;28569:6;28600:2;28643;28631:9;28622:7;28618:23;28614:32;28611:52;;;28659:1;28656;28649:12;28611:52;28692:9;28686:16;-1:-1:-1;;;;;28762:2:84;28754:6;28751:14;28748:34;;;28778:1;28775;28768:12;28748:34;28816:6;28805:9;28801:22;28791:32;;28861:7;28854:4;28850:2;28846:13;28842:27;28832:55;;28883:1;28880;28873:12;28832:55;28912:2;28906:9;28934:43;28974:2;28934:43;:::i;:::-;29006:2;29000:9;29018:31;29046:2;29038:6;29018:31;:::i;:::-;29084:18;;;29172:1;29168:10;;;;29160:19;;29156:28;;;29118:15;;;;-1:-1:-1;29196:19:84;;;29193:39;;;29228:1;29225;29218:12;29193:39;29260:2;29256;29252:11;29272:357;29288:6;29283:3;29280:15;29272:357;;;29367:3;29361:10;29403:2;29390:11;29387:19;29384:109;;;29447:1;29476:2;29472;29465:14;29384:109;29518:68;29578:7;29573:2;29559:11;29555:2;29551:20;29547:29;29518:68;:::i;:::-;29506:81;;-1:-1:-1;29607:12:84;;;;29305;;29272:357;;;-1:-1:-1;29648:6:84;28465:1195;-1:-1:-1;;;;;;;;28465:1195:84:o;30354:249::-;30423:6;30476:2;30464:9;30455:7;30451:23;30447:32;30444:52;;;30492:1;30489;30482:12;30444:52;30524:9;30518:16;30543:30;30567:5;30543:30;:::i;30608:277::-;30675:6;30728:2;30716:9;30707:7;30703:23;30699:32;30696:52;;;30744:1;30741;30734:12;30696:52;30776:9;30770:16;30829:5;30822:13;30815:21;30808:5;30805:32;30795:60;;30851:1;30848;30841:12;31015:542;31116:2;31111:3;31108:11;31105:446;;;31152:1;31176:5;31173:1;31166:16;31220:4;31217:1;31207:18;31290:2;31278:10;31274:19;31271:1;31267:27;31261:4;31257:38;31326:4;31314:10;31311:20;31308:47;;;-1:-1:-1;31349:4:84;31308:47;31404:2;31399:3;31395:12;31392:1;31388:20;31382:4;31378:31;31368:41;;31459:82;31477:2;31470:5;31467:13;31459:82;;;31522:17;;;31503:1;31492:13;31459:82;;;31463:3;;;31015:542;;;:::o;31733:1202::-;-1:-1:-1;;;;;31850:3:84;31847:27;31844:53;;;31877:18;;:::i;:::-;31906:93;31995:3;31955:38;31987:4;31981:11;31955:38;:::i;:::-;31949:4;31906:93;:::i;:::-;32025:1;32050:2;32045:3;32042:11;32067:1;32062:615;;;;32721:1;32738:3;32735:93;;;-1:-1:-1;32794:19:84;;;32781:33;32735:93;-1:-1:-1;;31690:1:84;31686:11;;;31682:24;31678:29;31668:40;31714:1;31710:11;;;31665:57;32841:78;;32035:894;;32062:615;30962:1;30955:14;;;30999:4;30986:18;;-1:-1:-1;;32098:17:84;;;32198:9;32220:229;32234:7;32231:1;32228:14;32220:229;;;32323:19;;;32310:33;32295:49;;32430:4;32415:20;;;;32383:1;32371:14;;;;32250:12;32220:229;;;32224:3;32477;32468:7;32465:16;32462:159;;;32601:1;32597:6;32591:3;32585;32582:1;32578:11;32574:21;32570:34;32566:39;32553:9;32548:3;32544:19;32531:33;32527:79;32519:6;32512:95;32462:159;;;32664:1;32658:3;32655:1;32651:11;32647:19;32641:4;32634:33;32035:894;;;31733:1202;;;:::o;32940:1081::-;33120:49;33159:9;33151:6;33120:49;:::i;:::-;33101:4;33188:2;33226;33221;33210:9;33206:18;33199:30;33249:1;33282:6;33276:13;33312:36;33338:9;33312:36;:::i;:::-;33384:6;33379:2;33368:9;33364:18;33357:34;33410:2;33431:1;33463;33452:9;33448:17;33479:1;33474:158;;;;33646:1;33641:354;;;;33441:554;;33474:158;33541:3;33537:8;33526:9;33522:24;33517:2;33506:9;33502:18;33495:52;33619:2;33607:6;33600:14;33593:22;33590:1;33586:30;33575:9;33571:46;33567:55;33560:62;;33474:158;;33641:354;33672:6;33669:1;33662:17;33720:2;33717:1;33707:16;33745:1;33759:180;33773:6;33770:1;33767:13;33759:180;;;33866:14;;33842:17;;;33838:26;;33831:50;33909:16;;;;33788:10;;33759:180;;;33963:17;;33982:2;33959:26;;-1:-1:-1;;33441:554:84;-1:-1:-1;34012:3:84;;32940:1081;-1:-1:-1;;;;;;;;;32940:1081:84:o;34026:902::-;34126:6;34179:2;34167:9;34158:7;34154:23;34150:32;34147:52;;;34195:1;34192;34185:12;34147:52;34228:9;34222:16;-1:-1:-1;;;;;34298:2:84;34290:6;34287:14;34284:34;;;34314:1;34311;34304:12;34284:34;34337:22;;;;34393:4;34375:16;;;34371:27;34368:47;;;34411:1;34408;34401:12;34368:47;34444:4;34438:11;34488:4;34480:6;34476:17;34543:6;34531:10;34528:22;34523:2;34511:10;34508:18;34505:46;34502:72;;;34554:18;;:::i;:::-;34590:4;34583:24;34629:9;;34667:3;34657:14;;34647:42;;34685:1;34682;34675:12;34647:42;34698:21;;34758:2;34750:11;;34744:18;34774:16;;;34771:36;;;34803:1;34800;34793:12;34771:36;34840:56;34888:7;34877:8;34873:2;34869:17;34840:56;:::i;:::-;34835:2;34823:15;;34816:81;-1:-1:-1;34827:6:84;34026:902;-1:-1:-1;;;;;34026:902:84:o;34933:179::-;34968:3;35010:1;34992:16;34989:23;34986:120;;;35056:1;35053;35050;35035:23;-1:-1:-1;35093:1:84;35087:8;35082:3;35078:18;34986:120;34933:179;:::o;35117:671::-;35156:3;35198:4;35180:16;35177:26;35174:39;;;35117:671;:::o;35174:39::-;35240:2;35234:9;-1:-1:-1;;35305:16:84;35301:25;;35298:1;35234:9;35277:50;35356:4;35350:11;35380:16;-1:-1:-1;;;;;35486:2:84;35479:4;35471:6;35467:17;35464:25;35459:2;35451:6;35448:14;35445:45;35442:58;;;35493:5;;;;;35117:671;:::o;35442:58::-;35530:6;35524:4;35520:17;35509:28;;35566:3;35560:10;35593:2;35585:6;35582:14;35579:27;;;35599:5;;;;;;35117:671;:::o;35579:27::-;35683:2;35664:16;35658:4;35654:27;35650:36;35643:4;35634:6;35629:3;35625:16;35621:27;35618:69;35615:82;;;35690:5;;;;;;35117:671;:::o;35615:82::-;35706:57;35757:4;35748:6;35740;35736:19;35732:30;35726:4;35706:57;:::i;:::-;-1:-1:-1;35779:3:84;;35117:671;-1:-1:-1;;;;;35117:671:84:o;35793:449::-;-1:-1:-1;;;36050:3:84;36043:32;36025:3;36104:6;36098:13;36120:75;36188:6;36183:2;36178:3;36174:12;36167:4;36159:6;36155:17;36120:75;:::i;:::-;36215:16;;;;36233:2;36211:25;;35793:449;-1:-1:-1;;35793:449:84:o;36247:182::-;-1:-1:-1;;;;;36354:10:84;;;36366;;;36350:27;;36389:11;;;36386:37;;;36403:18;;:::i;37037:767::-;37326:6;37315:9;37308:25;37369:3;37364:2;37353:9;37349:18;37342:31;37410:6;37404:3;37393:9;37389:19;37382:35;37468:6;37460;37454:3;37443:9;37439:19;37426:49;37525:1;37519:3;37510:6;37499:9;37495:22;37491:32;37484:43;37289:4;37586:2;37582:7;37577:2;37569:6;37565:15;37561:29;37550:9;37546:45;37627:6;37622:2;37611:9;37607:18;37600:34;37670:6;37665:2;37654:9;37650:18;37643:34;37738:3;37726:9;37722:2;37718:18;37714:28;37708:3;37697:9;37693:19;37686:57;37760:38;37793:3;37789:2;37785:12;37777:6;37760:38;:::i;:::-;37752:46;37037:767;-1:-1:-1;;;;;;;;;37037:767:84:o;37809:245::-;37867:6;37920:2;37908:9;37899:7;37895:23;37891:32;37888:52;;;37936:1;37933;37926:12;37888:52;37975:9;37962:23;37994:30;38018:5;37994:30;:::i;38059:243::-;38116:6;38169:2;38157:9;38148:7;38144:23;38140:32;38137:52;;;38185:1;38182;38175:12;38137:52;38224:9;38211:23;38243:29;38266:5;38243:29;:::i;38307:135::-;38346:3;38367:17;;;38364:43;;38387:18;;:::i;:::-;-1:-1:-1;38434:1:84;38423:13;;38307:135::o;38447:542::-;38616:5;38603:19;38631:31;38654:7;38631:31;:::i;:::-;38694:4;38685:7;38681:18;38671:28;;38724:4;38718:11;38773:2;38766:3;38762:8;38758:2;38754:17;38751:25;38745:4;38738:39;38825:2;38818:5;38814:14;38801:28;38838:32;38862:7;38838:32;:::i;:::-;38960:20;38950:7;38947:1;38943:15;38939:42;38934:2;-1:-1:-1;;;;;38906:25:84;38902:2;38898:34;38895:42;38892:90;38886:4;38879:104;;;;38447:542;;:::o;38994:171::-;39062:6;39101:10;;;39089;;;39085:27;;39124:12;;;39121:38;;;39139:18;;:::i;39170:187::-;39209:1;39235:6;39268:2;39265:1;39261:10;39290:3;39280:37;;39297:18;;:::i;:::-;39335:10;;39331:20;;;;;39170:187;-1:-1:-1;;39170:187:84:o;39362:168::-;39429:6;39455:10;;;39467;;;39451:27;;39490:11;;;39487:37;;;39504:18;;:::i;39535:257::-;-1:-1:-1;;;;;39656:10:84;;;39668;;;39652:27;39699:20;;;;39606:18;39738:24;;;39728:58;;39766:18;;:::i;:::-;39728:58;;39535:257;;;;:::o;39797:779::-;39844:3;39888:5;39882:12;39915:4;39910:3;39903:17;39957:12;39951:19;40002:4;39995;39990:3;39986:14;39979:28;40028:47;40070:3;40065;40061:13;40045:14;40028:47;:::i;:::-;40016:59;;40130:4;40116:12;40112:23;40106:30;40100:3;40095;40091:13;40084:53;40198:4;40190;40183:5;40179:16;40173:23;40169:34;40162:4;40157:3;40153:14;40146:58;40265:4;40257;40250:5;40246:16;40240:23;40236:34;40229:4;40224:3;40220:14;40213:58;40332:4;40324;40317:5;40313:16;40307:23;40303:34;40296:4;40291:3;40287:14;40280:58;40386:4;40379:5;40375:16;40369:23;40347:45;;-1:-1:-1;;;;;40481:2:84;40465:14;40461:23;40454:4;40449:3;40445:14;40438:47;40546:2;40538:4;40531:5;40527:16;40521:23;40517:32;40510:4;40505:3;40501:14;40494:56;;40566:4;40559:11;;;;39797:779;;;;:::o;40581:679::-;40914:6;40903:9;40896:25;-1:-1:-1;;;;;40961:6:84;40957:31;40952:2;40941:9;40937:18;40930:59;41025:6;41020:2;41009:9;41005:18;40998:34;41068:6;41063:2;41052:9;41048:18;41041:34;41084:61;41140:3;41129:9;41125:19;41117:6;41084:61;:::i;:::-;41182:3;41176;41165:9;41161:19;41154:32;40877:4;41203:51;41249:3;41238:9;41234:19;41226:6;41203:51;:::i;:::-;41195:59;40581:679;-1:-1:-1;;;;;;;;40581:679:84:o;41265:561::-;41550:6;41539:9;41532:25;-1:-1:-1;;;;;41597:6:84;41593:31;41588:2;41577:9;41573:18;41566:59;41661:6;41656:2;41645:9;41641:18;41634:34;41704:6;41699:2;41688:9;41684:18;41677:34;41748:3;41742;41731:9;41727:19;41720:32;41513:4;41769:51;41815:3;41804:9;41800:19;41792:6;41769:51;:::i;41831:128::-;41898:9;;;41919:11;;;41916:37;;;41933:18;;:::i;41964:1341::-;42088:3;42082:10;-1:-1:-1;;;;;42107:6:84;42104:30;42101:56;;;42137:18;;:::i;:::-;42166:96;42255:6;42215:38;42247:4;42241:11;42215:38;:::i;:::-;42209:4;42166:96;:::i;:::-;42317:4;;42374:2;42363:14;;42391:1;42386:662;;;;43092:1;43109:6;43106:89;;;-1:-1:-1;43161:19:84;;;43155:26;43106:89;-1:-1:-1;;31690:1:84;31686:11;;;31682:24;31678:29;31668:40;31714:1;31710:11;;;31665:57;43208:81;;42356:943;;42386:662;30962:1;30955:14;;;30999:4;30986:18;;-1:-1:-1;;42422:20:84;;;42539:236;42553:7;42550:1;42547:14;42539:236;;;42642:19;;;42636:26;42621:42;;42734:27;;;;42702:1;42690:14;;;;42569:19;;42539:236;;;42543:3;42803:6;42794:7;42791:19;42788:201;;;42864:19;;;42858:26;-1:-1:-1;;42947:1:84;42943:14;;;42959:3;42939:24;42935:37;42931:42;42916:58;42901:74;;42788:201;-1:-1:-1;;;;;43035:1:84;43019:14;;;43015:22;43002:36;;-1:-1:-1;41964:1341:84:o;43581:180::-;-1:-1:-1;;;;;43686:10:84;;;43698;;;43682:27;;43721:11;;;43718:37;;;43735:18;;:::i;43957:112::-;43989:1;44015;44005:35;;44020:18;;:::i;:::-;-1:-1:-1;44054:9:84;;43957:112::o;44482:151::-;44572:4;44565:12;;;44551;;;44547:31;;44590:14;;44587:40;;;44607:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\n/* solhint-disable var-name-mixedcase */\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\n// Inherits from:\r\nimport \"../defaults/WitnetOracleTrustableDefault.sol\";\r\n\r\n/// @title Witnet Request Board OVM-compatible (Optimism) \"trustable\" implementation.\r\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\r\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\r\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\r\n/// @author The Witnet Foundation\r\ncontract WitnetOracleTrustableReef\r\n    is\r\n        WitnetOracleTrustableDefault \r\n{\r\n    function class() virtual override public view returns (string memory) {\r\n        return type(WitnetOracleTrustableReef).name;\r\n    }\r\n    \r\n    constructor(\r\n            WitnetRequestFactory _factory,\r\n            WitnetRequestBytecodes _registry,\r\n            bool _upgradable,\r\n            bytes32 _versionTag,\r\n            uint256 _reportResultGasBase,\r\n            uint256 _reportResultWithCallbackGasBase,\r\n            uint256 _reportResultWithCallbackRevertGasBase,\r\n            uint256 _sstoreFromZeroGas\r\n        )\r\n        WitnetOracleTrustableDefault(\r\n            _factory,\r\n            _registry,\r\n            _upgradable,\r\n            _versionTag,\r\n            _reportResultGasBase,\r\n            _reportResultWithCallbackGasBase,\r\n            _reportResultWithCallbackRevertGasBase,\r\n            _sstoreFromZeroGas\r\n        )\r\n    {}\r\n    \r\n    // ================================================================================================================\r\n    // --- Overrides 'IWitnetOracle' ----------------------------------------------------------------------------\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request.\r\n    /// @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \r\n    /// @param _resultMaxSize Maximum expected size of returned data (in bytes).\r\n    function estimateBaseFee(uint256, uint16 _resultMaxSize)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return WitnetOracleTrustableDefault.estimateBaseFee(1, _resultMaxSize);\r\n    }\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request with a callback.\r\n    /// @param _callbackGasLimit Maximum gas to be spent when reporting the data request result.\r\n    function estimateBaseFeeWithCallback(uint256, uint24 _callbackGasLimit)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return WitnetOracleTrustableDefault.estimateBaseFeeWithCallback(1, _callbackGasLimit);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'Payable' ----------------------------------------------------------------------------------------\r\n\r\n    /// Gets current transaction price.\r\n    function _getGasPrice()\r\n        internal pure\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return 1;\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\core\\customs\\WitnetOracleTrustableReef.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/customs/WitnetOracleTrustableReef.sol",
    "exportedSymbols": {
      "Context": [
        509
      ],
      "ERC165": [
        602
      ],
      "IERC165": [
        614
      ],
      "IERC20": [
        479
      ],
      "IWitnetConsumer": [
        12829
      ],
      "IWitnetOracle": [
        13265
      ],
      "IWitnetOracleEvents": [
        13315
      ],
      "IWitnetOracleReporter": [
        13398
      ],
      "IWitnetRequestBoardAdminACLs": [
        13758
      ],
      "IWitnetRequestBytecodes": [
        13979
      ],
      "IWitnetRequestFactory": [
        14002
      ],
      "Initializable": [
        253
      ],
      "Ownable": [
        401
      ],
      "Ownable2Step": [
        24094
      ],
      "Payable": [
        24145
      ],
      "Proxiable": [
        24189
      ],
      "ReentrancyGuard": [
        578
      ],
      "Upgradeable": [
        24304
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetErrorsLib": [
        23206
      ],
      "WitnetOracle": [
        749
      ],
      "WitnetOracleDataLib": [
        12396
      ],
      "WitnetOracleTrustableBase": [
        6817
      ],
      "WitnetOracleTrustableDefault": [
        7013
      ],
      "WitnetOracleTrustableReef": [
        4743
      ],
      "WitnetProxy": [
        3700
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetUpgradableBase": [
        3887
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 4744,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4647,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "79:31:33"
      },
      {
        "id": 4648,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "112:33:33"
      },
      {
        "absolutePath": "project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol",
        "file": "../defaults/WitnetOracleTrustableDefault.sol",
        "id": 4649,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4744,
        "sourceUnit": 7014,
        "src": "168:54:33",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 4651,
              "name": "WitnetOracleTrustableDefault",
              "nameLocations": [
                "681:28:33"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 7013,
              "src": "681:28:33"
            },
            "id": 4652,
            "nodeType": "InheritanceSpecifier",
            "src": "681:28:33"
          }
        ],
        "canonicalName": "WitnetOracleTrustableReef",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 4650,
          "nodeType": "StructuredDocumentation",
          "src": "226:403:33",
          "text": "@title Witnet Request Board OVM-compatible (Optimism) \"trustable\" implementation.\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": 4743,
        "linearizedBaseContracts": [
          4743,
          7013,
          6817,
          24145,
          13758,
          13398,
          749,
          13315,
          13265,
          3887,
          578,
          24304,
          24189,
          253,
          24094,
          401,
          509
        ],
        "name": "WitnetOracleTrustableReef",
        "nameLocation": "638:25:33",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "baseFunctions": [
              6836
            ],
            "body": {
              "id": 4663,
              "nodeType": "Block",
              "src": "789:62:33",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 4659,
                          "name": "WitnetOracleTrustableReef",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4743,
                          "src": "812:25:33",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableReef_$4743_$",
                            "typeString": "type(contract WitnetOracleTrustableReef)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableReef_$4743_$",
                            "typeString": "type(contract WitnetOracleTrustableReef)"
                          }
                        ],
                        "id": 4658,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "807:4:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 4660,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "807:31:33",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitnetOracleTrustableReef_$4743",
                        "typeString": "type(contract WitnetOracleTrustableReef)"
                      }
                    },
                    "id": 4661,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "839:4:33",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "807:36:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4657,
                  "id": 4662,
                  "nodeType": "Return",
                  "src": "800:43:33"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 4664,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "728:5:33",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4654,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "744:8:33"
            },
            "parameters": {
              "id": 4653,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "733:2:33"
            },
            "returnParameters": {
              "id": 4657,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4656,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4664,
                  "src": "774:13:33",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4655,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "774:6:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "773:15:33"
            },
            "scope": 4743,
            "src": "719:132:33",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4695,
              "nodeType": "Block",
              "src": "1563:2:33",
              "statements": []
            },
            "id": 4696,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4685,
                    "name": "_factory",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4667,
                    "src": "1294:8:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  {
                    "id": 4686,
                    "name": "_registry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4670,
                    "src": "1317:9:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  {
                    "id": 4687,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4672,
                    "src": "1341:11:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 4688,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4674,
                    "src": "1367:11:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "id": 4689,
                    "name": "_reportResultGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4676,
                    "src": "1393:20:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4690,
                    "name": "_reportResultWithCallbackGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4678,
                    "src": "1428:32:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4691,
                    "name": "_reportResultWithCallbackRevertGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4680,
                    "src": "1475:38:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4692,
                    "name": "_sstoreFromZeroGas",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4682,
                    "src": "1528:18:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 4693,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 4684,
                  "name": "WitnetOracleTrustableDefault",
                  "nameLocations": [
                    "1251:28:33"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 7013,
                  "src": "1251:28:33"
                },
                "nodeType": "ModifierInvocation",
                "src": "1251:306:33"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4683,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4667,
                  "mutability": "mutable",
                  "name": "_factory",
                  "nameLocation": "910:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "889:29:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                    "typeString": "contract WitnetRequestFactory"
                  },
                  "typeName": {
                    "id": 4666,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4665,
                      "name": "WitnetRequestFactory",
                      "nameLocations": [
                        "889:20:33"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 880,
                      "src": "889:20:33"
                    },
                    "referencedDeclaration": 880,
                    "src": "889:20:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4670,
                  "mutability": "mutable",
                  "name": "_registry",
                  "nameLocation": "956:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "933:32:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 4669,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4668,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "933:22:33"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "933:22:33"
                    },
                    "referencedDeclaration": 849,
                    "src": "933:22:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4672,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "985:11:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "980:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4671,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "980:4:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4674,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1019:11:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "1011:19:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4673,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1011:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4676,
                  "mutability": "mutable",
                  "name": "_reportResultGasBase",
                  "nameLocation": "1053:20:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "1045:28:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4675,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1045:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4678,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackGasBase",
                  "nameLocation": "1096:32:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "1088:40:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4677,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1088:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4680,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackRevertGasBase",
                  "nameLocation": "1151:38:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "1143:46:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4679,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1143:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4682,
                  "mutability": "mutable",
                  "name": "_sstoreFromZeroGas",
                  "nameLocation": "1212:18:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4696,
                  "src": "1204:26:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4681,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1204:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "874:367:33"
            },
            "returnParameters": {
              "id": 4694,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1563:0:33"
            },
            "scope": 4743,
            "src": "863:702:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              6926
            ],
            "body": {
              "id": 4713,
              "nodeType": "Block",
              "src": "2208:89:33",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "hexValue": "31",
                        "id": 4709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2271:1:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      {
                        "id": 4710,
                        "name": "_resultMaxSize",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4701,
                        "src": "2274:14:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        }
                      ],
                      "expression": {
                        "id": 4707,
                        "name": "WitnetOracleTrustableDefault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7013,
                        "src": "2226:28:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                          "typeString": "type(contract WitnetOracleTrustableDefault)"
                        }
                      },
                      "id": 4708,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2255:15:33",
                      "memberName": "estimateBaseFee",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6926,
                      "src": "2226:44:33",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint16_$returns$_t_uint256_$",
                        "typeString": "function (uint256,uint16) view returns (uint256)"
                      }
                    },
                    "id": 4711,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2226:63:33",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 4706,
                  "id": 4712,
                  "nodeType": "Return",
                  "src": "2219:70:33"
                }
              ]
            },
            "documentation": {
              "id": 4697,
              "nodeType": "StructuredDocumentation",
              "src": "1815:251:33",
              "text": "@notice Estimate the minimum reward required for posting a data request.\n @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \n @param _resultMaxSize Maximum expected size of returned data (in bytes)."
            },
            "functionSelector": "7bd88218",
            "id": 4714,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFee",
            "nameLocation": "2081:15:33",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4703,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2167:8:33"
            },
            "parameters": {
              "id": 4702,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4699,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4714,
                  "src": "2097:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4698,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2097:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4701,
                  "mutability": "mutable",
                  "name": "_resultMaxSize",
                  "nameLocation": "2113:14:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4714,
                  "src": "2106:21:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 4700,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "2106:6:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2096:32:33"
            },
            "returnParameters": {
              "id": 4706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4705,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4714,
                  "src": "2194:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4704,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2194:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2193:9:33"
            },
            "scope": 4743,
            "src": "2072:225:33",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              6972
            ],
            "body": {
              "id": 4731,
              "nodeType": "Block",
              "src": "2652:104:33",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "hexValue": "31",
                        "id": 4727,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2727:1:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      {
                        "id": 4728,
                        "name": "_callbackGasLimit",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4719,
                        "src": "2730:17:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint24",
                          "typeString": "uint24"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        {
                          "typeIdentifier": "t_uint24",
                          "typeString": "uint24"
                        }
                      ],
                      "expression": {
                        "id": 4725,
                        "name": "WitnetOracleTrustableDefault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7013,
                        "src": "2670:28:33",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                          "typeString": "type(contract WitnetOracleTrustableDefault)"
                        }
                      },
                      "id": 4726,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2699:27:33",
                      "memberName": "estimateBaseFeeWithCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6972,
                      "src": "2670:56:33",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint24_$returns$_t_uint256_$",
                        "typeString": "function (uint256,uint24) view returns (uint256)"
                      }
                    },
                    "id": 4729,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2670:78:33",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 4724,
                  "id": 4730,
                  "nodeType": "Return",
                  "src": "2663:85:33"
                }
              ]
            },
            "documentation": {
              "id": 4715,
              "nodeType": "StructuredDocumentation",
              "src": "2305:190:33",
              "text": "@notice Estimate the minimum reward required for posting a data request with a callback.\n @param _callbackGasLimit Maximum gas to be spent when reporting the data request result."
            },
            "functionSelector": "05e742ef",
            "id": 4732,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFeeWithCallback",
            "nameLocation": "2510:27:33",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4721,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2611:8:33"
            },
            "parameters": {
              "id": 4720,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4717,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4732,
                  "src": "2538:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4716,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2538:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4719,
                  "mutability": "mutable",
                  "name": "_callbackGasLimit",
                  "nameLocation": "2554:17:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 4732,
                  "src": "2547:24:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  },
                  "typeName": {
                    "id": 4718,
                    "name": "uint24",
                    "nodeType": "ElementaryTypeName",
                    "src": "2547:6:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint24",
                      "typeString": "uint24"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2537:35:33"
            },
            "returnParameters": {
              "id": 4724,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4723,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4732,
                  "src": "2638:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4722,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2638:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2637:9:33"
            },
            "scope": 4743,
            "src": "2501:255:33",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              6983
            ],
            "body": {
              "id": 4741,
              "nodeType": "Block",
              "src": "3156:27:33",
              "statements": [
                {
                  "expression": {
                    "hexValue": "31",
                    "id": 4739,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3174:1:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_1_by_1",
                      "typeString": "int_const 1"
                    },
                    "value": "1"
                  },
                  "functionReturnParameters": 4738,
                  "id": 4740,
                  "nodeType": "Return",
                  "src": "3167:8:33"
                }
              ]
            },
            "documentation": {
              "id": 4733,
              "nodeType": "StructuredDocumentation",
              "src": "3010:35:33",
              "text": "Gets current transaction price."
            },
            "id": 4742,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_getGasPrice",
            "nameLocation": "3060:12:33",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4735,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3115:8:33"
            },
            "parameters": {
              "id": 4734,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3072:2:33"
            },
            "returnParameters": {
              "id": 4738,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4737,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4742,
                  "src": "3142:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4736,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3142:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3141:9:33"
            },
            "scope": 4743,
            "src": "3051:132:33",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "scope": 4744,
        "src": "629:2557:33",
        "usedErrors": [
          16,
          19,
          267,
          272,
          523,
          17562,
          17568,
          19262,
          19268,
          19276
        ],
        "usedEvents": [
          24,
          278,
          13278,
          13285,
          13294,
          13307,
          13314,
          13397,
          13730,
          13735,
          24023,
          24106,
          24112,
          24232
        ]
      }
    ],
    "src": "79:3109:33"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.292Z",
  "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.",
    "errors": {
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "NotInitializing()": [
        {
          "details": "The contract is not initializing."
        }
      ],
      "OwnableInvalidOwner(address)": [
        {
          "details": "The owner is not a valid owner account. (eg. `address(0)`)"
        }
      ],
      "OwnableUnauthorizedAccount(address)": [
        {
          "details": "The caller account is not authorized to perform an operation."
        }
      ],
      "ReentrancyGuardReentrantCall()": [
        {
          "details": "Unauthorized reentrant call."
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "Upgraded(address,address,bytes32,string)": {
        "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": {
      "acceptOwnership()": {
        "details": "The new owner accepts the ownership transfer."
      },
      "base()": {
        "details": "Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "estimateBaseFee(uint256,bytes32)": {
        "details": "Underestimates if the size of returned data is greater than `resultMaxSize`. ",
        "params": {
          "gasPrice": "Expected gas price to pay upon posting the data request.",
          "radHash": "The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry."
        }
      },
      "estimateBaseFee(uint256,uint16)": {
        "details": "Underestimates if the size of returned data is greater than `_resultMaxSize`. ",
        "params": {
          "_resultMaxSize": "Maximum expected size of returned data (in bytes)."
        }
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "params": {
          "_callbackGasLimit": "Maximum gas to be spent when reporting the data request result."
        }
      },
      "extractWitnetDataRequests(uint256[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "_queryIds": "Query identifies."
        }
      },
      "fetchQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryRequest(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier"
        }
      },
      "getQueryResponseStatus(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultCborBytes(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultError(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isReporter(address)": {
        "params": {
          "_reporter": "The address to be checked."
        }
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "pendingOwner()": {
        "details": "Returns the address of the pending owner."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "details": "Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.",
        "params": {
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain.",
          "_queryUnverifiedBytecode": "The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "details": "Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "_witnetQueryId": "The unique identifier of the data request.",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin."
        }
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.",
        "params": {
          "_witnetQueryId": "The unique query identifier",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.",
          "_witnetQueryResultTimestamp": "Timestamp at which the reported value was captured by the Witnet blockchain. "
        }
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "details": "Fails only if called from unauthorized address.",
        "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."
        }
      },
      "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."
        }
      },
      "transferOwnership(address)": {
        "details": "Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."
      },
      "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."
        }
      },
      "upgradeQueryEvmReward(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Posted' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      }
    },
    "title": "Witnet Request Board OVM-compatible (Optimism) \"trustable\" implementation.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      },
      "WitnetQuery(uint256,uint256,(uint8,uint64))": {
        "notice": "Emitted every time a new query containing some verified data request is posted to the WRB."
      },
      "WitnetQueryResponse(uint256,uint256)": {
        "notice": "Emitted when a query with no callback gets reported into the WRB."
      },
      "WitnetQueryResponseDelivered(uint256,uint256,uint256)": {
        "notice": "Emitted when a query with a callback gets successfully reported into the WRB."
      },
      "WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)": {
        "notice": "Emitted when a query with a callback cannot get reported into the WRB."
      },
      "WitnetQueryRewardUpgraded(uint256,uint256)": {
        "notice": "Emitted when the reward of some not-yet reported query is upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "estimateBaseFee(uint256,bytes32)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFee(uint256,uint16)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "notice": "Estimate the minimum reward required for posting a data request with a callback."
      },
      "estimateReportEarnings(uint256[],bytes,uint256,uint256)": {
        "notice": "Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings."
      },
      "extractWitnetDataRequests(uint256[])": {
        "notice": "Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries."
      },
      "fetchQueryResponse(uint256)": {
        "notice": "Retrieves copy of all response data related to a previously posted request, removing the whole query from storage."
      },
      "getNextQueryId()": {
        "notice": "Returns next query id to be generated by the Witnet Request Board."
      },
      "getQuery(uint256)": {
        "notice": "Gets the whole Query data contents, if any, no matter its current status."
      },
      "getQueryEvmReward(uint256)": {
        "notice": "Gets the current EVM reward the report can claim, if not done yet."
      },
      "getQueryRequest(uint256)": {
        "notice": "Retrieves the RAD hash and SLA parameters of the given query."
      },
      "getQueryResponse(uint256)": {
        "notice": "Retrieves the Witnet-provable result, and metadata, to a previously posted request.    "
      },
      "getQueryResponseStatus(uint256)": {
        "notice": "Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue."
      },
      "getQueryResultCborBytes(uint256)": {
        "notice": "Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query."
      },
      "getQueryResultError(uint256)": {
        "notice": "Gets error code identifying some possible failure on the resolution of the given query."
      },
      "getQueryStatus(uint256)": {
        "notice": "Gets current status of given query."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "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."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request."
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result."
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request. "
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request."
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "notice": "Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report."
      },
      "setReporters(address[])": {
        "notice": "Adds given addresses to the active reporters control list."
      },
      "unsetReporters(address[])": {
        "notice": "Removes given addresses from the active reporters control list."
      },
      "upgradeQueryEvmReward(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
  }
}