{
  "contractName": "WitPriceFeedsUpgradable",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_witOracle",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "DeviantPrice",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "HotPrice",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidArgument",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidGovernanceTarget",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidUpdateData",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidUpdateDataSource",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoFreshUpdate",
      "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": "PriceFeedNotFound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PriceFeedNotFoundWithinRange",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "StalePrice",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "by",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "master",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "clone",
          "type": "address"
        }
      ],
      "name": "Cloned",
      "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": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeeds.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int8",
          "name": "exponent",
          "type": "int8"
        },
        {
          "indexed": false,
          "internalType": "enum IWitPriceFeeds.Mappers",
          "name": "mapper",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "string[]",
          "name": "dependencies",
          "type": "string[]"
        }
      ],
      "name": "PriceFeedMapper",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeeds.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int8",
          "name": "exponent",
          "type": "int8"
        },
        {
          "indexed": false,
          "internalType": "enum IWitPriceFeeds.Oracles",
          "name": "oracle",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "oracleAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "oracleSources",
          "type": "bytes32"
        }
      ],
      "name": "PriceFeedOracle",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeeds.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        }
      ],
      "name": "PriceFeedRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeeds.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "indexed": false,
          "internalType": "struct IWitPriceFeeds.UpdateConditions",
          "name": "conditions",
          "type": "tuple"
        }
      ],
      "name": "PriceFeedSettled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "IWitPriceFeeds.ID4",
          "name": "ID4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "Witnet.Timestamp",
          "name": "timestamp",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "Witnet.TransactionHash",
          "name": "trail",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "price",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "int56",
          "name": "deltaPrice",
          "type": "int56"
        },
        {
          "indexed": false,
          "internalType": "int8",
          "name": "exponent",
          "type": "int8"
        }
      ],
      "name": "PriceFeedUpdate",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "publishTime",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "int64",
          "name": "price",
          "type": "int64"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "name": "PriceFeedUpdate",
      "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"
    },
    {
      "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",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_salt",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_curator",
          "type": "address"
        }
      ],
      "name": "clone",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "consumer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        }
      ],
      "name": "createChainlinkAggregator",
      "outputs": [
        {
          "internalType": "contract IWitPythChainlinkAggregator",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "defaultUpdateConditions",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeeds.UpdateConditions",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "footprint",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "_footprint",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getEmaPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "_age",
          "type": "uint64"
        }
      ],
      "name": "getEmaPriceNotOlderThan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getEmaPriceUnsafe",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "getPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "uint64",
              "name": "price",
              "type": "uint64"
            },
            {
              "internalType": "int56",
              "name": "deltaPrice",
              "type": "int56"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "trail",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IWitPriceFeeds.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "_age",
          "type": "uint64"
        }
      ],
      "name": "getPriceNotOlderThan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        },
        {
          "internalType": "uint24",
          "name": "_age",
          "type": "uint24"
        }
      ],
      "name": "getPriceNotOlderThan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "uint64",
              "name": "price",
              "type": "uint64"
            },
            {
              "internalType": "int56",
              "name": "deltaPrice",
              "type": "int56"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "trail",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IWitPriceFeeds.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getPriceUnsafe",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "getPriceUnsafe",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "uint64",
              "name": "price",
              "type": "uint64"
            },
            {
              "internalType": "int56",
              "name": "deltaPrice",
              "type": "int56"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "trail",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IWitPriceFeeds.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "getUpdateFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_master",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_curator",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeeds.UpdateConditions",
          "name": "_defaultUpdateConditions",
          "type": "tuple"
        }
      ],
      "name": "initializeClone",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "isUpgradable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeed",
      "outputs": [
        {
          "components": [
            {
              "internalType": "IWitPyth.ID",
              "name": "id",
              "type": "bytes32"
            },
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "string",
              "name": "symbol",
              "type": "string"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeeds.Mappers",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "string[]",
                  "name": "deps",
                  "type": "string[]"
                }
              ],
              "internalType": "struct IWitPriceFeeds.Mapper",
              "name": "mapper",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeeds.Oracles",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "sources",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeeds.Oracle",
              "name": "oracle",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint24",
                  "name": "callbackGas",
                  "type": "uint24"
                },
                {
                  "internalType": "bool",
                  "name": "computeEma",
                  "type": "bool"
                },
                {
                  "internalType": "uint24",
                  "name": "cooldownSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint24",
                  "name": "heartbeatSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint16",
                  "name": "maxDeviation1000",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "minWitnesses",
                  "type": "uint16"
                }
              ],
              "internalType": "struct IWitPriceFeeds.UpdateConditions",
              "name": "updateConditions",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "int8",
                  "name": "exponent",
                  "type": "int8"
                },
                {
                  "internalType": "uint64",
                  "name": "price",
                  "type": "uint64"
                },
                {
                  "internalType": "int56",
                  "name": "deltaPrice",
                  "type": "int56"
                },
                {
                  "internalType": "Witnet.Timestamp",
                  "name": "timestamp",
                  "type": "uint64"
                },
                {
                  "internalType": "Witnet.TransactionHash",
                  "name": "trail",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeeds.Price",
              "name": "lastUpdate",
              "type": "tuple"
            }
          ],
          "internalType": "struct IWitPriceFeeds.Info",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeedCaption",
      "outputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeedExponent",
      "outputs": [
        {
          "internalType": "int8",
          "name": "",
          "type": "int8"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeeds.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeedID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "lookupPriceFeeds",
      "outputs": [
        {
          "components": [
            {
              "internalType": "IWitPyth.ID",
              "name": "id",
              "type": "bytes32"
            },
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "string",
              "name": "symbol",
              "type": "string"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeeds.Mappers",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "string[]",
                  "name": "deps",
                  "type": "string[]"
                }
              ],
              "internalType": "struct IWitPriceFeeds.Mapper",
              "name": "mapper",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeeds.Oracles",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "sources",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeeds.Oracle",
              "name": "oracle",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint24",
                  "name": "callbackGas",
                  "type": "uint24"
                },
                {
                  "internalType": "bool",
                  "name": "computeEma",
                  "type": "bool"
                },
                {
                  "internalType": "uint24",
                  "name": "cooldownSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint24",
                  "name": "heartbeatSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint16",
                  "name": "maxDeviation1000",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "minWitnesses",
                  "type": "uint16"
                }
              ],
              "internalType": "struct IWitPriceFeeds.UpdateConditions",
              "name": "updateConditions",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "int8",
                  "name": "exponent",
                  "type": "int8"
                },
                {
                  "internalType": "uint64",
                  "name": "price",
                  "type": "uint64"
                },
                {
                  "internalType": "int56",
                  "name": "deltaPrice",
                  "type": "int56"
                },
                {
                  "internalType": "Witnet.Timestamp",
                  "name": "timestamp",
                  "type": "uint64"
                },
                {
                  "internalType": "Witnet.TransactionHash",
                  "name": "trail",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeeds.Price",
              "name": "lastUpdate",
              "type": "tuple"
            }
          ],
          "internalType": "struct IWitPriceFeeds.Info[]",
          "name": "_infos",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "master",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Witnet.TransactionHash",
              "name": "witDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "queryRadHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint16",
                  "name": "witResultMaxSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "witCommitteeSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint64",
                  "name": "witUnitaryReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct Witnet.QuerySLA",
              "name": "queryParams",
              "type": "tuple"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.DataPushReport",
          "name": "report",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "proof",
          "type": "bytes"
        }
      ],
      "name": "pushDataReport",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "bool",
          "name": "_recursively",
          "type": "bool"
        }
      ],
      "name": "removePriceFeed",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "_footprint",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_consumer",
          "type": "address"
        }
      ],
      "name": "settleConsumer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeeds.UpdateConditions",
          "name": "_conditions",
          "type": "tuple"
        }
      ],
      "name": "settleDefaultUpdateConditions",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "enum IWitPriceFeeds.Mappers",
          "name": "_mapper",
          "type": "uint8"
        },
        {
          "internalType": "string[]",
          "name": "_deps",
          "type": "string[]"
        }
      ],
      "name": "settlePriceFeedMapper",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "enum IWitPriceFeeds.Oracles",
          "name": "_oracle",
          "type": "uint8"
        },
        {
          "internalType": "address",
          "name": "_oracleAddress",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_oracleSources",
          "type": "bytes32"
        }
      ],
      "name": "settlePriceFeedOracle",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "bytes",
          "name": "_radonBytecode",
          "type": "bytes"
        }
      ],
      "name": "settlePriceFeedRadonBytecode",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "Witnet.RadonHash",
          "name": "_radonHash",
          "type": "bytes32"
        }
      ],
      "name": "settlePriceFeedRadonHash",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeeds.UpdateConditions",
          "name": "_conditions",
          "type": "tuple"
        }
      ],
      "name": "settlePriceFeedUpdateConditions",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_caption",
          "type": "string"
        }
      ],
      "name": "supportsCaption",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "valueFor",
      "outputs": [
        {
          "internalType": "int256",
          "name": "_value",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "_timestamp",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_status",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "witOracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "cloned",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "target",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_witOracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DeviantPrice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HotPrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidArgument\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidGovernanceTarget\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidUpdateData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidUpdateDataSource\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFreshUpdate\",\"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\":\"PriceFeedNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PriceFeedNotFoundWithinRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"master\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"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\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"indexed\":false,\"internalType\":\"enum IWitPriceFeeds.Mappers\",\"name\":\"mapper\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"dependencies\",\"type\":\"string[]\"}],\"name\":\"PriceFeedMapper\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"indexed\":false,\"internalType\":\"enum IWitPriceFeeds.Oracles\",\"name\":\"oracle\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oracleAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"oracleSources\",\"type\":\"bytes32\"}],\"name\":\"PriceFeedOracle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"PriceFeedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"indexed\":false,\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"conditions\",\"type\":\"tuple\"}],\"name\":\"PriceFeedSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"ID4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"indexed\":false,\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"}],\"name\":\"PriceFeedUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"publishTime\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"PriceFeedUpdate\",\"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\"},{\"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\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_curator\",\"type\":\"address\"}],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"consumer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"createChainlinkAggregator\",\"outputs\":[{\"internalType\":\"contract IWitPythChainlinkAggregator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultUpdateConditions\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"footprint\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"_footprint\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getEmaPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_age\",\"type\":\"uint64\"}],\"name\":\"getEmaPriceNotOlderThan\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getEmaPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_age\",\"type\":\"uint64\"}],\"name\":\"getPriceNotOlderThan\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"},{\"internalType\":\"uint24\",\"name\":\"_age\",\"type\":\"uint24\"}],\"name\":\"getPriceNotOlderThan\",\"outputs\":[{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"getPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"getUpdateFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_master\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"_defaultUpdateConditions\",\"type\":\"tuple\"}],\"name\":\"initializeClone\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"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\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeed\",\"outputs\":[{\"components\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeeds.Mappers\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"deps\",\"type\":\"string[]\"}],\"internalType\":\"struct IWitPriceFeeds.Mapper\",\"name\":\"mapper\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeeds.Oracles\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"sources\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Oracle\",\"name\":\"oracle\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"updateConditions\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Price\",\"name\":\"lastUpdate\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitPriceFeeds.Info\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeedCaption\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeedExponent\",\"outputs\":[{\"internalType\":\"int8\",\"name\":\"\",\"type\":\"int8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeeds.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeedID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lookupPriceFeeds\",\"outputs\":[{\"components\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeeds.Mappers\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"deps\",\"type\":\"string[]\"}],\"internalType\":\"struct IWitPriceFeeds.Mapper\",\"name\":\"mapper\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeeds.Oracles\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"sources\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Oracle\",\"name\":\"oracle\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"updateConditions\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeeds.Price\",\"name\":\"lastUpdate\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitPriceFeeds.Info[]\",\"name\":\"_infos\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"master\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"pushDataReport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_recursively\",\"type\":\"bool\"}],\"name\":\"removePriceFeed\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"_footprint\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"settleConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"_conditions\",\"type\":\"tuple\"}],\"name\":\"settleDefaultUpdateConditions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"enum IWitPriceFeeds.Mappers\",\"name\":\"_mapper\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"_deps\",\"type\":\"string[]\"}],\"name\":\"settlePriceFeedMapper\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"enum IWitPriceFeeds.Oracles\",\"name\":\"_oracle\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_oracleAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_oracleSources\",\"type\":\"bytes32\"}],\"name\":\"settlePriceFeedOracle\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"bytes\",\"name\":\"_radonBytecode\",\"type\":\"bytes\"}],\"name\":\"settlePriceFeedRadonBytecode\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"_radonHash\",\"type\":\"bytes32\"}],\"name\":\"settlePriceFeedRadonHash\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeeds.UpdateConditions\",\"name\":\"_conditions\",\"type\":\"tuple\"}],\"name\":\"settlePriceFeedUpdateConditions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_caption\",\"type\":\"string\"}],\"name\":\"supportsCaption\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"target\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_status\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Guillermo D\\u00edaz <guillermo@witnet.io>\",\"errors\":{\"DeviantPrice()\":[{\"details\":\"Signature: 0x7b0d2bb5\"}],\"HotPrice()\":[{\"details\":\"Signature: 0x0fbbc581\"}],\"InvalidArgument()\":[{\"details\":\"Signature: 0xa9cb9e0d\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUpdateData()\":[{\"details\":\"Signature: 0xe69ffece\"}],\"InvalidUpdateDataSource()\":[{\"details\":\"Signature: 0xe60dce71\"}],\"NoFreshUpdate()\":[{\"details\":\"Signature: 0xde2c57fa\"}],\"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.\"}],\"PriceFeedNotFound()\":[{\"details\":\"Signature: 0x14aebe68\"}],\"PriceFeedNotFoundWithinRange()\":[{\"details\":\"Signature: 0x45805f5d\"}],\"StalePrice()\":[{\"details\":\"Signature: 0x19abf40e\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PriceFeedUpdate(bytes32,uint64,int64,uint64)\":{\"details\":\"Emitted when the price feed with `id` has received a fresh update.\",\"params\":{\"id\":\"The Pyth Price Feed ID.\",\"price\":\"Price of the given price update.\",\"publishTime\":\"Publish time of the given price update.\"}},\"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\":{\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"clone(bytes32,address)\":{\"details\":\"Reverts if the salt has already been used, or trying to inherit mapped price feeds.\",\"params\":{\"_curator\":\"Address that will have rights to manage price feeds on the new light-proxy clone.\",\"_salt\":\"Salt that will determine the address of the new light-proxy clone.\"}},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"consumer()\":{\"details\":\"If zero, price updates will not be reported to any other external address.It can only be settled or changed by cloning the contract.Price feeds metadata and update information will be stored in this contract,even if there's a soulbound address settled.\"},\"createChainlinkAggregator(string)\":{\"details\":\"Reverts if symbol is not supported.\"},\"getEmaPrice(bytes32)\":{\"details\":\"Reverts if the EMA price is not available, or if the price feeds is settled with a heartbeat and the price was not recently updated.\",\"params\":{\"_id\":\"The Price Feed ID of which to fetch the EMA price.\"}},\"getEmaPriceNotOlderThan(bytes32,uint64)\":{\"details\":\"This function is a sanity-checked version of `getEmaPriceUnsafe` which is useful in applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently recently.\"},\"getEmaPriceUnsafe(bytes32)\":{\"details\":\"This function returns the same price as `getEmaPrice` in the case where the price is available. However, if the price is not recent this function returns the latest available price. The returned price can be from arbitrarily far in the past; this function makes no guarantees that the returned price is recent or useful for any particular application. Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getEmaPrice` or `getEmaPriceNoOlderThan`.\"},\"getPrice(bytes32)\":{\"details\":\"Reverts if the price has not been updated within the last `heartbeatSecs`. \",\"params\":{\"_id\":\"The Price Feed ID of which to fetch the price.\"}},\"getPrice(bytes4)\":{\"details\":\"Reverts if: - `StalePrice()`: the price feed has not been updated within the last `UpdateConditions.heartbeatSecs`, - `DeviantPrice()`: a deviation greater than `UpdateConditions.maxDeviation1000` was detected upon last update attempt. - `InvalidGovernanceTarget()`: no EMA is curretly settled to be computed for this price feed.\",\"params\":{\"_id4\":\"Unique ID4 identifier of a price feed supported by this contract.\"}},\"getPriceNotOlderThan(bytes32,uint64)\":{\"details\":\"This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications that require a sufficiently-recent price.  Reverts if the price wasn't updated sufficiently recently.\"},\"getPriceNotOlderThan(bytes4,uint24)\":{\"details\":\"Reverts if: - `StalePrice()`: the price feed has not been updated within the last `_age` seconds, \",\"params\":{\"_age\":\"Maximum age of acceptable price value.\",\"_id4\":\"Unique ID4 identifier of a price feed supported by this contract.\"}},\"getPriceUnsafe(bytes32)\":{\"details\":\"This function returns the most recent price update in this contract without any recency checks. This function is unsafe as the returned price update may be arbitrarily far in the past.  Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getPrice` or `getPriceNoOlderThan`.\"},\"getPriceUnsafe(bytes4)\":{\"params\":{\"_id4\":\"Unique ID4 identifier of a price feed supported by this contract.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"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.\"},\"version()\":{\"details\":\"Retrieves human-redable named version of current implementation.\"}},\"stateVariables\":{\"proxiableUUID\":{\"details\":\"Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.      If implemented as an Upgradeable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail.\"}},\"title\":\"WitPriceFeedsUpgradable: On-demand Price Feeds registry for EVM-compatible L1/L2 chains,  natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price  updates from other on-chain price-feed oracles too, if required.  Price feeds purely relying on the Wit/Oracle present some advantanges, though: - Anyone can permissionless pull and report price updates on-chain. - Updating the price requires paying no extra \\\"update fees\\\". - Prices can be extracted from independent and highly reputed exchanges and data providers. - Actual data sources for each price feed can be introspected on-chain. - Data source traceability in the Wit/Oracle blockchain is possible for every single price update. Instances of this contract may also provide support for \\\"routed price feeds\\\" (computed as the  product or mean average of up to other 8 different price feeds), as well as \\\"cascade price feeds\\\"  (where multiple oracles could be used as backup when preferred ones don't manage to provide  fresh enough updates for whatever reason). Last but not least, this contract allows simple plug-and-play integration from  smart contracts, dapps and DeFi projects currently adapted to operate with other price feed solutions, like Chainlink, or Pyth. \",\"version\":1},\"userdoc\":{\"errors\":{\"DeviantPrice()\":[{\"notice\":\"Requested price deviated too much after previous update.\"}],\"HotPrice()\":[{\"notice\":\"Attempting to update a price before cooldown period expires.\"}],\"InvalidArgument()\":[{\"notice\":\"Function arguments are invalid (e.g., the arguments lengths mismatch)\"}],\"InvalidGovernanceTarget()\":[{\"notice\":\"Either the number of witnesses that solved a price update is not within the settled range in this contract, or an EMA is being asked for a price feed that's not settled for the EMA to be computed. \"}],\"InvalidUpdateData()\":[{\"notice\":\"Update data is invalid (e.g. badly serialized, or bad proof was provided).\"}],\"InvalidUpdateDataSource()\":[{\"notice\":\"Update data is coming from an invalid Wit/Oracle Radon Hash.\"}],\"NoFreshUpdate()\":[{\"notice\":\"There is no fresh update, whereas expected fresh updates.\"}],\"PriceFeedNotFound()\":[{\"notice\":\"Price feed not found or it is not pushed on-chain yet.\"}],\"PriceFeedNotFoundWithinRange()\":[{\"notice\":\"There is no price feed found within the given range or it does not exist.\"}],\"StalePrice()\":[{\"notice\":\"Requested price is stale.\"}]},\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"acceptOwnership()\":{\"notice\":\"=============================================================================================================== --- IWitPriceFeedsAdmin ---------------------------------------------------------------------------------------\"},\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"clone(bytes32,address)\":{\"notice\":\"Creates a light-proxy clone to the underlying logic contract, owned by the specified `operator` address.  Operators of cloned contracts can optionally settle one single price feed `IWitPriceFeedConsumer` contract.  The consumer contract, if settled, will be immediately reported upon every verified price update pushed  into `WitPriceFeeds`. Either way, price feeds data will be stored in the `WitPriceFeeds` storage. \"},\"cloned()\":{\"notice\":\"=============================================================================================================== --- Clonable2 -------------------------------------------------------------------------------------------------\"},\"consumer()\":{\"notice\":\"Returns the soul-bounded address where all price updates will be reported to.\"},\"createChainlinkAggregator(string)\":{\"notice\":\"Creates a Chainlink Aggregator proxy to the specified symbol.\"},\"footprint()\":{\"notice\":\"Returns a unique hash determined by the combination of data sources being used by  supported non-routed price feeds, and dependencies of all supported routed  price feeds. The footprint changes if any price feed is modified, added, removed  or if the dependency tree of any routed price feed is altered.\"},\"getEmaPrice(bytes32)\":{\"notice\":\"Returns the exponentially-weighted moving average price.\"},\"getEmaPriceNotOlderThan(bytes32,uint64)\":{\"notice\":\"Returns the exponentially-weighted moving average price that is no older than `_age` seconds of the current time.\"},\"getEmaPriceUnsafe(bytes32)\":{\"notice\":\"Returns the exponentially-weighted moving average price of a price feed without any sanity checks.\"},\"getPrice(bytes32)\":{\"notice\":\"Returns the price of given price feed.\"},\"getPrice(bytes4)\":{\"notice\":\"Returns last update price for the specified ID4 price feed. Note: This function is sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require recentl updated price, and no hint of market deviation being currently excessive. \"},\"getPriceNotOlderThan(bytes32,uint64)\":{\"notice\":\"Returns the price that is no older than `_age` seconds of the current time.\"},\"getPriceNotOlderThan(bytes4,uint24)\":{\"notice\":\"Returns last known price if no older than `_age` seconds of the current time. Note: This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require last known non-deviant price, last updated within specified time range.\"},\"getPriceUnsafe(bytes32)\":{\"notice\":\"Returns the price of a price feed without any sanity checks.\"},\"getPriceUnsafe(bytes4)\":{\"notice\":\"Returns last updated price without any sanity checks. Note: This function is unsafe as the returned price update may be arbitrarily far in the past. Users of this function should check the `timestamp` of each price feed to ensure that the returned values  are sufficiently recent for their application. If you need safe access to fresh data, please consider using calling to either `getPrice` or `getPriceNoOlderThan` variants. \"},\"getUpdateFee(bytes)\":{\"notice\":\"Legacy-compliant to get the required fee to update an array of price updates, which would be always 0 if relying from the Wit/Oracle framework.\"},\"hash(string)\":{\"notice\":\"Determines unique ID for specified `symbol` string.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"initialized()\":{\"notice\":\"=============================================================================================================== --- Clonable2 -------------------------------------------------------------------------------------------------\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"lookupPriceFeeds()\":{\"notice\":\"Returns last known price updates and deviations for all supported price feeds without any sanity checks.    \"},\"master()\":{\"notice\":\"Master address from which this contract was cloned.\"},\"pushDataReport((bytes32,bytes32,(uint16,uint16,uint64),uint64,bytes),bytes)\":{\"notice\":\"=============================================================================================================== --- IWitOracleConsumer ----------------------------------------------------------------------------------------\"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"},\"valueFor(bytes32)\":{\"notice\":\"=============================================================================================================== --- IERC2362 --------------------------------------------------------------------------------------------------\"},\"witOracle()\":{\"notice\":\"Returns the WitOracle address that this appliance is bound to.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/WitPriceFeedsUpgradable.sol\":\"WitPriceFeedsUpgradable\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af92023c38ab97a95fb7e2a196a697cfc1d90bb1b8bfe73e0ba69cbb7a8f5ab\",\"dweb:/ipfs/QmVSBWxe2QCZvAxiuTfEwprK9MbDtFNptoWeMBbmUcwQnx\"]},\"project:/contracts/WitPriceFeeds.sol\":{\"keccak256\":\"0xa7f1d41f88ffe3662366e7924c673647c866f90086e134d18afd17c04d9b5a69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://580776ae8522937294bc90ff5c3d825db2d04e4e787257bc24005831088417c5\",\"dweb:/ipfs/QmehUvWShoYNZYmMHMyBWKWcD6NSEFFEv7XRTcxy79g12H\"]},\"project:/contracts/apps/WitPriceFeedsUpgradable.sol\":{\"keccak256\":\"0x615fe5377d6575b59d9e2bc9312ec6f2fe876107f372e61afcdf461dcbea3c36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f508154c5a263a7a213de10f74e92ca7ed225b57b4bad118f0c94492da2f84\",\"dweb:/ipfs/QmenuY3JQXR5a7h7Z3i2qNaNa4E7EabLAs1hbCfDndjUtU\"]},\"project:/contracts/apps/WitPriceFeedsV3.sol\":{\"keccak256\":\"0xb957593310a45989a4dae64862dcbe99969555edfe57ec7b56fbc03c0b49e925\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcf421db9f834dbbd8024efee4d0cfdedd18ff544cd156f86b48e0b1b74fbf04\",\"dweb:/ipfs/QmRyUCn3Mak9DqtHD8ALmEPCauccAzDkK53f6BSfu3n7CX\"]},\"project:/contracts/data/WitPriceFeedsDataLib.sol\":{\"keccak256\":\"0xeb422b777da61930717323b62c20c29a10bed2273bfaea242dac3077799e15e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a7753cca2fa3e296e013d986feeb6be5b1776edd97b6e23c264ca7d9b8e6a8\",\"dweb:/ipfs/QmNVJvu9QgzsDJpqwy1PbZk5A4P3u8MvsCys5VskpAPBs9\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0xd9f1a62989dbd33e486beb27362340565f899b143d1c4a1b022c6116b0ec317b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00fa3a545ba871732ce1bd13241dcd24ad8c31908e764bb7e8ac1d96cb534e7f\",\"dweb:/ipfs/QmQvGiyxaULT6wu3RfvpnRrKdP8X2mbCDgQYyW9CQkH73f\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleConsumer.sol\":{\"keccak256\":\"0x0091b5953897f5bec810d4fa22e43a9dbd5e01600994f6465e3fe14edab02a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61862f8fd20ba0f619c4d6851affd39885c4bbbf1a7bd99e01ac472dae487a1b\",\"dweb:/ipfs/QmXuw1XaQmbSpcrZUhAzTnmnj3Vxna9D1Fg9Zwq5EnZRZK\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0x77a2141c9d121d346b10d6d9db0778f38354b5add3fe17c393963e1805b92803\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f3e950e650d56f181d03c1726a7dd1cf84436ca745b468497e3eaf709e793c7\",\"dweb:/ipfs/QmYD86jQyT5KdNQkoQPsHkWvTFY1GwFgfXRDjsv3ZRPNKg\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitPriceFeeds.sol\":{\"keccak256\":\"0x2a6272b0f8223800f50d1d96e7b317462de392158c3b77d2e7632d1158b67dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://022c2f7f258cdc1cff49988760efd9584ac03380a1469d557dd93e0e837dde54\",\"dweb:/ipfs/QmTtLJ1dfgQVRoAN7JSh7FdAoSbxiTzREQT5xVbLAzpEm9\"]},\"project:/contracts/interfaces/IWitPriceFeedsAdmin.sol\":{\"keccak256\":\"0xddb0a7b1f9ee7406cc7a3ae587c1f8362cff868179a0a39e45f6b20194fff15d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f788d600d09af957b26e02420a53b4ad1d6ada1082d3f5cc0f1cb44406bc5c65\",\"dweb:/ipfs/QmYDpHHgjquK5se7mtNHkmtmgFsY9HzKbMgHX7iEgsT53C\"]},\"project:/contracts/interfaces/IWitPriceFeedsConsumer.sol\":{\"keccak256\":\"0x27fb0798f56f1068a57be4a84e232509ec052edbdb88c7446246c9802d46ba6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://221b77d1f4cd070bdcbd8f66ea41e5041cb1878af2e8aad889f93fb4c382cbc4\",\"dweb:/ipfs/QmbRV9yzMBEKpuCdDVWUf6VL3DEMEF9MuHQCGDXEP8gmtA\"]},\"project:/contracts/interfaces/IWitPriceFeedsMappingSolver.sol\":{\"keccak256\":\"0x1e03e8a360508f5418f77b9010da21429af53aaf1dd571b15bd8da1367be6704\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f7811c1aa3b4b4b4f68dd4a77193e25bbe901a26940afd34ca182b0f6efff60\",\"dweb:/ipfs/QmexbCy55DY3fE347WEs9TayqMtcQZpY5oLx14YeyirwN2\"]},\"project:/contracts/interfaces/legacy/IChainlinkAggregatorV3.sol\":{\"keccak256\":\"0x09750da5b74e684e13093320b00c8e95d648ddf58bfdb29b8bc3b90e6853c263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b08da33fc3e7cbf1f60965f82efdea926f2f62312298be29188eca9d109189ac\",\"dweb:/ipfs/QmR2sJ4dddcDW5q14usqiEeB7pamqHDfqkMDd9hghVMhiJ\"]},\"project:/contracts/interfaces/legacy/IPythChainlinkAggregatorV3.sol\":{\"keccak256\":\"0x768f729a0575850eab9bde8f57bea1f5761e6749b7c2de9a6c580594fad4a1fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f6ca5693bec81a880f4d34e78f8de30bd783e25ae7b628a1a4ced4c73b8894\",\"dweb:/ipfs/QmXjajPrDiW9y1uwEaJhcsonJPWPYCdDegMoCQ6CkGPCL2\"]},\"project:/contracts/interfaces/legacy/IWitPyth.sol\":{\"keccak256\":\"0xa06a34a5e553beae7dbe09a5d1049557190511e696a1b855ab5e1196a06048a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c814b7be5539147c0ba1b55f6cddcad382d5e5e9f9de545d2d428c1989c7de\",\"dweb:/ipfs/QmY8KSV3PW2FBQVzXidLQ21KvDJ1v6y8WHaV8uxsqThJCC\"]},\"project:/contracts/interfaces/legacy/IWitPythChainlinkAggregator.sol\":{\"keccak256\":\"0xd34682fccc3ac1af39ef5f3bea61cd4ae8ee80862649678de5714a51177f4384\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017eddcbf631cdc3e1a7f2c34478fe98697371b83d1985fa742e46a99c7b7a63\",\"dweb:/ipfs/QmbJ4XH8e2J79kuAtP1CcYftDfDUYf9NqxFDaKvSpzTGV2\"]},\"project:/contracts/interfaces/legacy/IWitPythErrors.sol\":{\"keccak256\":\"0x7d10dfd625a4914e4017cde140397f9f236f726ea82b4feed1d889f852866c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bbf8dc2bbac36cf0a141f7062b6ed8143cffaee7969a1afc3cf0d1971e8cf18\",\"dweb:/ipfs/QmbLiZwggZwhiTLJurBkAu492xAZZ9MXWiknsuGnLYNXhP\"]},\"project:/contracts/interfaces/legacy/IWitPythEvents.sol\":{\"keccak256\":\"0xacca21f4bb4d740de63f4f2e469e8313b1d8f9a7d2340efcc17981c3510c2800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b0493082593838fbc4df2431c1983a82165ae1f17215e988951c0c1ef3882\",\"dweb:/ipfs/QmNUX9K3UqxiR9igT87iLja8h3u7htp83ZhAGZ6UgD3BZP\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Slices.sol\":{\"keccak256\":\"0x9d046fa558be922c9625a1fdc470f6e68b3c9b5745b6185cb4a4fc59181fa006\",\"license\":\"APACHE-2.0\",\"urls\":[\"bzz-raw://ab19ba09faf83aaa92947f0a0907f6522be89279a9a1b0e53d5393a23085947d\",\"dweb:/ipfs/QmeE9MwhpSFNTwyqDFpMFjftrJKR1edBhLjV3bdKQQHUVm\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x4b6119143b275325f27d61bdafdf84bbf572c0f62281389d755db933c0de8d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1061432113fb5e87ac6fd2392f514e5a02653739e5c733f3f1ade60eae2cf40\",\"dweb:/ipfs/QmUCcausdKoogUQj4WkSNAo8zXZ4szKaMG1LLXmPUxxWt5\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/mockups/WitPythChainlinkAggregator.sol\":{\"keccak256\":\"0x3e5d251f9e738ae343d87230313b61ba08720eb3d11221c11ab5833e29ca176e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf49f65e19e8f40d6cab79d66a155b4c527ee22676636595f2dd8dac6a6cf03f\",\"dweb:/ipfs/QmX1J45JBJMACRdTcZK9tXDWN8X5gpkKJUpqsSWJyErUsC\"]},\"project:/contracts/patterns/Clonable2.sol\":{\"keccak256\":\"0xd3753f772f18d9fd257ab1fb377761746966d377a8126ebafd87783a1d9c076a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ef2fd6ad4b807341a5600a9a616004ec919c7043470c1bf86ed84400eef753f\",\"dweb:/ipfs/QmWDUXG3jQ4xkYaxuxbnw9yMVotbSqRHfscMb7GRqkXDoV\"]},\"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\":\"0x45ed9d1f98e2a7a5bd1a7040dbd4292f1458fa1cb212d0143718684efa436bd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45d347c5ef492b33dcf3953bb3911fe7160a6c812e69ed84d2511f0847e19229\",\"dweb:/ipfs/QmZp3icE2gQBoJp8KorWC1GfGC8mK29sK9fEveKRMNCY1U\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0xdf08ba72a270367f028f0fef661c33aa277add1094192c2c812db97caaa1a3e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55a68539748c5b9ff5462bbc460f983bbc71757e349e3fd60fce8f0399c5127b\",\"dweb:/ipfs/QmU6gGvFVswLqmQ4or66eyrEwFmztbR66ipwPB6nrwe4cX\"]}},\"version\":1}",
  "bytecode": "0x6101606040523060e052348015610014575f5ffd5b506040516163bd3803806163bd83398101604081905261003391610312565b8233806100405733610042565b805b3060805283151560c0526001600160a01b03811661007a57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610083816102a7565b505f826001600160a01b03163b116100dd5760405162461bcd60e51b815260206004820152601560248201527f696e6578697374656e74207769742f6f7261636c6500000000000000000000006044820152606401610071565b5f826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561011a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013e9190610361565b90506001600160e01b03198116636d11bc5160e11b148061016f57506001600160e01b031981166391789e3760e01b145b6101bb5760405162461bcd60e51b815260206004820152601660248201527f756e636f6d706c69616e74207769742f6f7261636c65000000000000000000006044820152606401610071565b50506001600160a01b031661010052506040805160c081018252620f424081525f6020808301919091526103848284015262015180606083015260fa6080830152600360a0909201919091527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390480546001600160701b0319166c0300fa015180000384000f4240179055610120929092528051808201909152601781527f696f2e7769746e65742e707269636566656564732e7633000000000000000000910152507f33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d6101405261038f565b600180546001600160a01b03191690556102c0816102c3565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f5f60608486031215610324575f5ffd5b83516001600160a01b038116811461033a575f5ffd5b6020850151604086015191945092508015158114610356575f5ffd5b809150509250925092565b5f60208284031215610371575f5ffd5b81516001600160e01b031981168114610388575f5ffd5b9392505050565b60805160a05160c05160e051610100516101205161014051615f8c6104315f395f61052901525f61135701525f81816103a10152818161153a0152818161186601528181611e51015261225d01525f8181611d3801528181612582015261319701525f818161054d015261174401525f50505f81816105000152818161068801528181611078015281816110e90152818161113001526111520152615f8c5ff3fe608060405234801561000f575f5ffd5b506004361061030a575f3560e01c8063974454091161019b578063c86564b1116100e7578063e36a1d9e116100a0578063ee97f7f31161007a578063ee97f7f314610811578063f2fde38b14610819578063f78eea831461082c578063fa78a9711461085a5761030a565b8063e36a1d9e146107d8578063e56bd315146107eb578063e59a7808146107fe5761030a565b8063c86564b11461077c578063d4b839921461078f578063d7f1ae3514610797578063d9ea438f146107aa578063e27b1088146107bd578063e30c3978146107d05761030a565b8063b411ee9411610154578063bff852fa1161012e578063bff852fa14610710578063c5010d1714610743578063c66f4c0a14610756578063c70f2f73146107695761030a565b8063b411ee94146106cd578063b4fd7296146106e0578063b5dcc911146104b85761030a565b8063974454091461065e5780639d61f28b1461044e578063a04daef01461067e578063a9e954b914610686578063aba146ff146106ad578063adb7c3f7146106c05761030a565b806354fd4d501161025a57806379393a8b116102135780638da5cb5b116101ed5780638da5cb5b146106265780639190795f146106365780639474f45b1461064b57806396834ad31461064b5761030a565b806379393a8b146105da57806379ba5097146105ed5780638a416ea9146105f55761030a565b806354fd4d5014610571578063608921931461058657806367e559ac146105995780636b58960a146105ac5780636d0d6a7e146105bf578063715018a6146105d25761030a565b80633108e1b8116102c75780634c7510d0116102a15780634c7510d0146104de5780635001f3b5146104fe57806352d1902d146105245780635479d9401461054b5761030a565b80633108e1b8146104a357806331d98b3f146104b8578063439fab91146104cb5761030a565b80630683bcd2146103735780631014d3751461039c578063158ef93e146103db578063238e0a8a14610408578063274d45db14610429578063288b5e671461044e575b61037161031a5f3560f81c61086d565b61032a60ff5f3560f01c1661086d565b61033a60ff5f3560e81c1661086d565b61034a60ff5f3560e01c1661086d565b60405160200161035d9493929190613d51565b604051602081830303815290604052610959565b005b610386610381366004613da8565b6109c8565b6040516103939190613fd0565b60405180910390f35b6103c37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610393565b5f516020615f175f395f51905f5254600160601b900461ffff1615155b6040519015158152602001610393565b61041b610416366004614026565b610d52565b604051908152602001610393565b61043c610437366004613da8565b610d5a565b6040515f9190910b8152602001610393565b61046161045c366004614083565b610d77565b6040516103939190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b6104ab610e84565b60405161039391906140b1565b6104616104c6366004614114565b610f44565b6103716104d9366004614218565b610fa2565b6104f16104ec366004614269565b6111d6565b60405161039391906142bb565b7f00000000000000000000000000000000000000000000000000000000000000006103c3565b61041b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006103f8565b610579611350565b60405161039391906142d0565b6104f16105943660046142ef565b611380565b6104f16105a73660046143b4565b611510565b6103f86105ba366004614448565b61171c565b6103716105cd366004614463565b611797565b610371611cb4565b6103716105e8366004614448565b611cc7565b610371611f53565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b6104f1565b5f546001600160a01b03166103c3565b61063e611f5b565b60405161039391906144ce565b610461610659366004614114565b611fda565b61067161066c366004613da8565b612020565b60405161039391906144dc565b6103f86120bc565b7f00000000000000000000000000000000000000000000000000000000000000003f61041b565b6103716106bb366004614500565b6120ff565b63f4891aa360e01b6104f1565b61041b6106db366004614218565b61216f565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53905546001600160a01b03166103c3565b6040805180820190915260178152765769745072696365466565647355706772616461626c6560481b6020820152610579565b6103f8610751366004614026565b612179565b610671610764366004613da8565b6121d7565b6104f161077736600461451a565b612234565b6103c361078a366004614572565b61243d565b6103c361254e565b6103c36107a5366004614595565b6125d3565b6106716107b83660046145eb565b61260b565b6105796107cb366004613da8565b6126b7565b6103c3612750565b61041b6107e6366004613da8565b612763565b6103c36107f9366004614026565b61276d565b6104f161080c366004614617565b61287e565b6103c36128d6565b610371610827366004614448565b612917565b61083f61083a366004614114565b61292b565b60408051938452602084019290925290820152606001610393565b610371610868366004614699565b612a6d565b6040805160028082528183019092526060915f91906020820181803683370190505090505f61089d601085614708565b6108a8906030614729565b90505f6108b6601086614742565b6108c1906030614729565b905060398260ff1611156108dd576108da600783614729565b91505b60398160ff1611156108f7576108f4600782614729565b90505b8160f81b835f8151811061090d5761090d614763565b60200101906001600160f81b03191690815f1a9053508060f81b8360018151811061093a5761093a614763565b60200101906001600160f81b03191690815f1a90535091949350505050565b6040805180820190915260178152765769745072696365466565647355706772616461626c6560481b602082015281604051602001610999929190614777565b60408051601f198184030181529082905262461bcd60e51b82526109bf916004016142d0565b60405180910390fd5b6109d0613c63565b5f6109da83612ad7565b6001810154909150600160501b900460ff1660605f826004811115610a0157610a01613df1565b14610b74575f610a1a6001600160e01b03198716612b13565b905080516001600160401b03811115610a3557610a3561412b565b604051908082528060200260200182016040528015610a6857816020015b6060815260200190600190039081610a535790505b5091505f5b8151811015610b71575f516020615f375f395f51905f526001015f838381518110610a9a57610a9a614763565b60200260200101516001600160e01b0319166001600160e01b03191681526020019081526020015f205f018054610ad090614797565b80601f0160208091040260200160405190810160405280929190818152602001828054610afc90614797565b8015610b475780601f10610b1e57610100808354040283529160200191610b47565b820191905f5260205f20905b815481529060010190602001808311610b2a57829003601f168201915b5050505050838281518110610b5e57610b5e614763565b6020908102919091010152600101610a6d565b50505b600183015460028401546040805160e08101909152600160581b830460ff1692600160601b90046001600160a01b03169080610baf8a612bdc565b81526001880154600160201b90045f0b602082015287546040909101908890610bd790614797565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0390614797565b8015610c4e5780601f10610c2557610100808354040283529160200191610c4e565b820191905f5260205f20905b815481529060010190602001808311610c3157829003601f168201915b505050505081526020016040518060400160405280886004811115610c7557610c75613df1565b81526020018781525081526020016040518060600160405280866003811115610ca057610ca0613df1565b8152602001846001600160a01b03168152602001858152508152602001610cc988600401612c4e565b815260200173__WitPriceFeedsDataLib__________________63974454098b6040518263ffffffff1660e01b8152600401610d0591906142bb565b60a060405180830381865af4158015610d20573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4491906147e5565b905298975050505050505050565b5f5b92915050565b5f610d6482612ad7565b60010154600160201b90045f0b92915050565b604080516080810182525f808252602082018190528183018190526060820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff83166024820152610e7d9073__WitPriceFeedsDataLib__________________9063d9ea438f906044015b60a060405180830381865af4158015610dfd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2191906147e5565b60408051608080820183525f80835260208084018290528385018290526060938401829052845192830185528581015160070b835282018190528451900b92810192909252918201516001600160401b03169181019190915290565b9392505050565b5f516020615f375f395f51905f528054606091906001600160401b03811115610eaf57610eaf61412b565b604051908082528060200260200182016040528015610ee857816020015b610ed5613c63565b815260200190600190039081610ecd5790505b5091505f5b8251811015610f3f57610f1a610381838381548110610f0e57610f0e614763565b905f5260205f20015490565b838281518110610f2c57610f2c614763565b6020908102919091010152600101610eed565b505090565b604080516080810182525f808252602082018190529181018290526060810191909152610d5473__WitPriceFeedsDataLib__________________63c66f4c0a845b6040518263ffffffff1660e01b8152600401610de291906142bb565b5f546001600160a01b031680610fd85781806020019051810190610fc691906148cb565b92509050610fd381612dc7565b611020565b336001600160a01b038216146110205760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b60448201526064016109bf565b61102982612de0565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061109a57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156110e75760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f6465686173680000000060448201526064016109bf565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661118b5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66111bd611350565b6040516111ca91906142d0565b60405180910390a45050565b5f6111df612f1e565b5f61122461122186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b90565b6040516303e8c70160e51b81526001600160e01b031982166004820152841515602482015290915073__WitPriceFeedsDataLib__________________90637d18e020906044015f6040518083038186803b158015611281575f5ffd5b505af4158015611293573d5f5f3e3d5ffd5b50505050336001600160a01b03167f757500535198cca670e5ed07230e87648f077ff0ec74b0cef5df05db58a996188287876040516112d493929190614940565b60405180910390a273__WitPriceFeedsDataLib__________________63fce897db6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611323573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113479190614962565b95945050505050565b606061137b7f0000000000000000000000000000000000000000000000000000000000000000612f4a565b905090565b5f611389612f1e565b60405163543dda3760e01b815273__WitPriceFeedsDataLib__________________9063543dda37906113ca908a908a908a908a908a908a906004016149be565b602060405180830381865af4925050508015611403575060408051601f3d908101601f1916820190925261140091810190614962565b60015b6114765761140f614a51565b806308c379a00361143d5750611423614a69565b8061142e575061143f565b61143781610959565b50611506565b505b3d808015611468576040519150601f19603f3d011682016040523d82523d5f602084013e61146d565b606091505b50611437612ff2565b336001600160a01b03167fc15d7f9f6442190dc6f24107279211aeb0c9e831201b7660eb0dee70e43938046114e26112218b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b8a8a8a8a8a8a6040516114fb9796959493929190614aeb565b60405180910390a290505b9695505050505050565b5f611519612f1e565b73__WitPriceFeedsDataLib__________________630873d81d87878686897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611594573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b89190614b8e565b6040518763ffffffff1660e01b81526004016115d996959493929190614ba9565b6040805180830381865af4925050508015611611575060408051601f3d908101601f1916820190925261160e91810190614bf5565b60015b6116845761161d614a51565b806308c379a00361164b5750611631614a69565b8061163c575061164d565b61164581610959565b50611347565b505b3d808015611676576040519150601f19603f3d011682016040523d82523d5f602084013e61167b565b606091505b50611645612ff2565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b6116f06112218b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b8a8a8a5f30886040516117099796959493929190614c21565b60405180910390a2509695505050505050565b5f6117256120bc565b156117425760405162461bcd60e51b81526004016109bf90614c78565b7f00000000000000000000000000000000000000000000000000000000000000008015610d545750816001600160a01b03166117855f546001600160a01b031690565b6001600160a01b03161490505b919050565b6020838101355f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53903909152604090205460e01b6001600160e01b031981166117f55760405163e60dce7160e01b815260040160405180910390fd5b5f6117ff82612ad7565b90505f61180e82600401612c4e565b60a081015190915061ffff1661182a6080880160608901614cc9565b61ffff16101561184d576040516363daeb7760e01b815260040160405180910390fd5b604051633686b53f60e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d0d6a7e9061189f908a908a908a90600401614ce4565b5f604051808303815f875af11580156118ba573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118e19190810190614e91565b90505f815160ff8111156118f7576118f7613df1565b148015611919575060048160200151601381111561191757611917613df1565b145b6119365760405163734fff6760e11b815260040160405180910390fd5b600583015460808201516001600160401b03600160c01b909204821691161161197257604051636f162bfd60e11b815260040160405180910390fd5b6040820151600584015461199b9162ffffff1690600160c01b90046001600160401b0316614f4c565b6001600160401b031681608001516001600160401b031610156119d157604051630fbbc58160e01b815260040160405180910390fd5b60058301546080820151600160b81b82045f90810b929091611a0291600160c01b90046001600160401b0316614f6b565b600586015462ffffff919091169150600160401b90046001600160401b03165f611a2b85613023565b90505f611a388383614f8a565b90505f5f8260060b1215611a745783611a5083614fb9565b611a5c906103e8614fdd565b66ffffffffffffff16611a6f9190614ffc565b611a94565b83611a81836103e8614fdd565b66ffffffffffffff16611a949190614ffc565b9050876080015161ffff16816001600160401b03161115611ac857604051637b0d2bb560e01b815260040160405180910390fd5b60058901805460808901516001600160401b03908116600160c01b026001600160c01b03918716600160401b026fffffffffffffffff00000000000000001966ffffffffffffff8816600160801b021676ffffffffffffffffffffffffffffff000000000000000019909416939093179290921716179055604087015160068a01555f611b5f5f516020615f375f395f51905f5290565b600501546001600160a01b031603611bee576080808801516040808a015181516001600160401b039384168152602081019190915291861690820152600684900b60608201525f88900b918101919091526001600160e01b03198b16907f0800977f281a92a8fb15f0b059791b2ffcc82fdc78be5227cec46afdb45f947d9060a00160405180910390a2611ca5565b5f516020615f375f395f51905f526005015460808801516040808a0151905163292e503960e11b81526001600160e01b03198e1660048201526001600160401b03928316602482015260448101919091528186166064820152600685900b608482015290871660a48201525f88900b60c48201526001600160a01b039091169063525ca0729060e4015f604051808303815f87803b158015611c8e575f5ffd5b505af1158015611ca0573d5f5f3e3d5ffd5b505050505b50505050505050505050505050565b611cbc612f1e565b611cc55f612dc7565b565b611ccf6120bc565b611d175760405162461bcd60e51b8152602060048201526019602482015278436c6f6e61626c65323a206f6e6c79206f6e20636c6f6e657360381b60448201526064016109bf565b611d1f612f1e565b611f126001600160a01b0382163014801590611d6d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611d925750611d7c61254e565b6001600160a01b0316826001600160a01b031614155b8015611db75750611da16128d6565b6001600160a01b0316826001600160a01b031614155b8015611dcc57505f826001600160a01b03163b115b8015611e485750306001600160a01b0316826001600160a01b0316635f1cf1376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e19573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3d9190614b8e565b6001600160a01b0316145b8015611ee457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316631014d3756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed99190614b8e565b6001600160a01b0316145b6040518060400160405280601081526020016f34b73b30b634b21031b7b739bab6b2b960811b8152506130fe565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390580546001600160a01b0319166001600160a01b0392909216919091179055565b611cc5613110565b611f63613cf9565b506040805160c0810182525f516020615f175f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a082015290565b604080516080810182525f808252602082018190529181018290526060810191909152610d5473__WitPriceFeedsDataLib__________________639744540984610f86565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051639744540960e01b815273__WitPriceFeedsDataLib__________________9063974454099061207d9085906004016142bb565b60a060405180830381865af4158015612098573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5491906147e5565b5f6120c561318b565b15801561137b5750507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b031630141590565b612107612f1e565b61215161212161211c36849003840184615029565b6131f3565b60405180604001604052806012815260200171696e76616c696420636f6e646974696f6e7360701b8152506130fe565b805f516020615f175f395f51905f5261216a82826150d0565b505050565b5f610d5482613227565b5f5f6121c46121bf61122186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b612ad7565b90506121cf81613256565b949350505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051636337a60560e11b815273__WitPriceFeedsDataLib__________________9063c66f4c0a9061207d9085906004016142bb565b5f61223d612f1e565b73__WitPriceFeedsDataLib__________________63ef0bf0a0868685877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122db9190614b8e565b6040518663ffffffff1660e01b81526004016122fb9594939291906151d7565b602060405180830381865af4925050508015612334575060408051601f3d908101601f1916820190925261233191810190614962565b60015b6123a757612340614a51565b806308c379a00361236e5750612354614a69565b8061235f5750612370565b61236881610959565b506121cf565b505b3d808015612399576040519150601f19603f3d011682016040523d82523d5f602084013e61239e565b606091505b50612368612ff2565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61241361122189898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b8888885f308a60405161242c9796959493929190614c21565b60405180910390a295945050505050565b5f6124466120bc565b156124635760405162461bcd60e51b81526004016109bf90614c78565b61246c836132ab565b6001600160a01b031663d7f1ae3561248261254e565b60405160e083901b6001600160e01b03191681526001600160a01b03918216600482015290851660248201525f516020615f175f395f51905f525462ffffff808216604484015260ff601883901c1615156064840152602082901c81166084840152603882901c1660a483015261ffff605082901c811660c484015260609190911c1660e4820152610104016020604051808303815f875af115801561252a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7d9190614b8e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd545f906001600160a01b03166125a457507f000000000000000000000000000000000000000000000000000000000000000090565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b031690565b5f6125dd83612dc7565b815f516020615f175f395f51905f526125f682826150d0565b9050506126028461336c565b50309392505050565b6040805160a0810182525f80825260208201819052818301819052606082018190526080820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff8316602482015273__WitPriceFeedsDataLib__________________9063d9ea438f9060440160a060405180830381865af4158015612693573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7d91906147e5565b60606126c282612ad7565b80546126cd90614797565b80601f01602080910402602001604051908101604052809291908181526020018280546126f990614797565b80156127445780601f1061271b57610100808354040283529160200191612744565b820191905f5260205f20905b81548152906001019060200180831161272757829003601f168201915b50505050509050919050565b5f61137b6001546001600160a01b031690565b5f610d5482612bdc565b5f6127788383612179565b61279557604051630295d7cd60e31b815260040160405180910390fd5b5f604051806020016127a690613d2d565b6020820181038252601f19601f8201166040525090505f306127ff61122187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b60405160609290921b6bffffffffffffffffffffffff191660208301526001600160e01b031916603482015260380160405160208183030381529060405290505f61284a83836134e4565b9050806001600160a01b03163b5f03611347575f6128688484613565565b90505f8151602083015ff5979650505050505050565b5f612887612f1e565b6128cb87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525089925088915087905086613591565b979650505050505050565b5f6128df6120bc565b6128e857505f90565b507f033dcaf396f361642869bf1bdf9c3454888f3e9bbf7939acdd2e40c3833fef00546001600160a01b031690565b61291f612f1e565b6129288161366b565b50565b5f8080838161293982612ad7565b90505f61294882600401612c4e565b6060810151604051631752c19f60e01b8152600481018590526001600160e01b03198616602482015262ffffff90911660448201529091505f9073__WitPriceFeedsDataLib__________________90631752c19f9060640160c060405180830381865af41580156129bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e09190615212565b80519091506001600160401b03166129fc5780602001516129ff565b80515b6001600160401b0316965080608001516001600160401b03169550855f14612a5857816060015162ffffff168160800151612a3a9190614f4c565b6001600160401b03164211612a505760c8612a5c565b610190612a5c565b6101945b61ffff169450505050509193909250565b612a75612f1e565b612a8a61212161211c36849003840184615029565b61216a83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612ad29250505036849003840184615029565b61369c565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120610d54565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160209081526040918290206003015482516008808252610120820190945260609391929091908201610100803683370190505091505f5b6008811015612bd457816001600160e01b031981165f03612b9b5750612bd4565b80848381518110612bae57612bae614763565b6001600160e01b03199092166020928302919091018201529290921b9150600101612b7a565b825250919050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120600101545f516020615f375f395f51905f528054909163ffffffff16908110612c3e57612c3e614763565b905f5260205f2001549050919050565b612c56613cf9565b6040805160c0810190915282545f516020615f175f395f51905f529190819062ffffff1615612c8b57845462ffffff16612c93565b825462ffffff165b62ffffff16815284546020909101906301000000900460ff1680612cbf575082546301000000900460ff165b151581528454602090910190600160201b900462ffffff1615612cef578454600160201b900462ffffff16612cfe565b8254600160201b900462ffffff165b62ffffff90811682528554602090920191600160381b90041615612d2f578454600160381b900462ffffff16612d3e565b8254600160381b900462ffffff165b62ffffff1681528454602090910190600160501b900461ffff1615612d6f578454600160501b900461ffff16612d7d565b8254600160501b900461ffff165b61ffff90811682528554602090920191600160601b90041615612dac578454600160601b900461ffff16612dba565b8254600160601b900461ffff165b61ffff1690529392505050565b600180546001600160a01b0319169055612928816137c0565b612de86120bc565b15612e055760405162461bcd60e51b81526004016109bf90614c78565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580612eac57506040805160c0810182525f516020615f175f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a0820152612eaa906131f3565b155b1561292857506040805160c081018252620f424081525f60208201526103849181019190915262015180606082015260fa6080820152600360a0909101525f516020615f175f395f51905f5280546dffffffffffffffffffffffffffff19166c0300fa015180000384000f4240179055565b5f546001600160a01b03163314611cc55760405163118cdaa760e01b81523360048201526024016109bf565b60605f612f568361380f565b6001600160401b03811115612f6d57612f6d61412b565b6040519080825280601f01601f191660200182016040528015612f97576020820181803683370190505b5090505f5b8151811015612feb57838160208110612fb757612fb7614763565b1a60f81b828281518110612fcd57612fcd614763565b60200101906001600160f81b03191690815f1a905350600101612f9c565b5092915050565b611cc56040518060400160405280601081526020016f1d5b9a185b991b1959081c995d995c9d60821b815250610959565b5f81600461303082613847565b158015613062575080601381111561304a5761304a613df1565b8260200151601381111561306057613060613df1565b145b6130ae5760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f74206665746368206461746100000000000000000060448201526064016109bf565b6130bb8460a00151613854565b92506130ca8260a001516138a3565b826020019060138111156130e0576130e0613df1565b908160138111156130f3576130f3613df1565b815250505050919050565b8161310c5761310c81610959565b5050565b338061311a612750565b6001600160a01b0316146131825760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016109bf565b61292881612dc7565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061137b57507f033dcaf396f361642869bf1bdf9c3454888f3e9bbf7939acdd2e40c3833fef00546001600160a01b0316301415919050565b80515f9062ffffff161580159061321257505f826060015162ffffff16115b8015610d5457505060a0015161ffff16151590565b5f8160405160200161323991906142d0565b604051602081830303815290604052805190602001209050919050565b60028101545f9015158061328b57506001820154600160501b900460ff16600481111561328557613285613df1565b60ff1615155b80610d5457505060010154600160601b90046001600160a01b0316151590565b5f5f6132b5613965565b9050826037825ff591506001600160a01b0382166133155760405162461bcd60e51b815260206004820152601960248201527f436c6f6e61626c65323a2043524541544532206661696c65640000000000000060448201526064016109bf565b816001600160a01b031661332761254e565b6001600160a01b0316336001600160a01b03167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b5f6133756139b6565b805490915060ff600160401b82041615906001600160401b03165f8115801561339b5750825b90505f826001600160401b031660011480156133b65750303b155b9050811580156133c4575080155b156133e25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561340c57845460ff60401b1916600160401b1785555b6134146120bc565b61345c5760405162461bcd60e51b8152602060048201526019602482015278436c6f6e61626c65323a206f6e6c79206f6e20636c6f6e657360381b60448201526064016109bf565b7f033dcaf396f361642869bf1bdf9c3454888f3e9bbf7939acdd2e40c3833fef0080546001600160a01b0319166001600160a01b03881617905583156134dc57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f6001600160f81b031930826134fa8686613565565b805160209182012060405161354695949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b6060828260405160200161357a92919061529a565b604051602081830303815290604052905092915050565b6040516307cc0ad760e51b81525f9073__WitPriceFeedsDataLib__________________9063f9815ae0906135d290899089908990899089906004016152a8565b602060405180830381865af492505050801561360b575060408051601f3d908101601f1916820190925261360891810190614962565b60015b6136175761161d614a51565b337fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b6136456112218a61216f565b898989898960405161365c969594939291906152ed565b60405180910390a29050611347565b613673612f1e565b6001600160a01b03811661318257604051631e4fbdf760e01b81525f60048201526024016109bf565b5f6136a96112218461216f565b90505f6136b582612ad7565b835160048201805460208701516040880151606089015160808a015160a08b015162ffffff97881663ffffffff19909616959095176301000000851515021769ffffffffffff000000001916600160201b9388169390930262ffffff60381b191692909217600160381b96909116959095029490941763ffffffff60501b1916600160501b61ffff9586160261ffff60601b191617600160601b94909216939093021790559091506137755760058101805467ffffffffffffffff191690555b336001600160a01b03167f814f158692029e154b102dae29959b818f77214e280f47232b45c9170935349d8386866040516137b293929190615342565b60405180910390a250505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b60208110156117925781816020811061382c5761382c614763565b1a60f81b6001600160f81b0319161561179257600101613811565b5f610d54825f01516139de565b5f815f8060ff16826040015160ff161461389257604080830151905161800560e51b815260ff918216600482015290821660248201526044016109bf565b6121cf845f01518560600151613a15565b5f6138b78251805151602090910151101590565b611792576006826040015160ff16116138ff5760408201516502020183808360d11b9060ff16600781106138ed576138ed614763565b1a6013811115610d5457610d54613df1565b816040015160ff1660070361179257816060015160ff166014148061392b5750816060015160ff166015145b1561393857506002919050565b6019826060015160ff16101580156139585750601b826060015160ff1611155b1561179257506005919050565b60605f61397061254e565b90506040519150733d602d80600a3d3981f3363d3d373d3d3d363d7360601b82528060601b60148301526e5af43d82803e903d91602b57fd5bf360881b60288301525090565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610d54565b5f60f08260ff8111156139f3576139f3613df1565b1480610d54575060f18260ff811115613a0e57613a0e613df1565b1492915050565b5f60188260ff161015613a2c575060ff8116610d54565b8160ff16601803613a4a57613a4083613adc565b60ff169050610d54565b8160ff16601903613a6957613a5e83613b3c565b61ffff169050610d54565b8160ff16601a03613a8a57613a7d83613ba7565b63ffffffff169050610d54565b8160ff16601b03613aa557613a9e83613c05565b9050610d54565b8160ff16601f03613abe57506001600160401b03610d54565b604051636d785b1360e01b815260ff831660048201526024016109bf565b5f8160200151825f01515180821115613b12576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051808301600101519550908190613b2f82615374565b8152505050505050919050565b5f81602001516002613b4e919061538c565b82515180821115613b7c576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051600281840181015196509091613b9a828461538c565b9052509395945050505050565b5f81602001516004613bb9919061538c565b82515180821115613be7576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051600481840181015196509091613b9a828461538c565b5f81602001516008613c17919061538c565b82515180821115613c45576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051600881840181015196509091613b9a828461538c565b6040518060e001604052805f81526020015f5f0b815260200160608152602001613c9d604080518082019091525f81526060602082015290565b8152604080516060810182525f8082526020828101829052928201529101908152602001613cc9613cf9565b81526040805160a0810182525f808252602082810182905292820181905260608201819052608082015291015290565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915290565b610b77806153a083390190565b5f81518060208401855e5f93019283525090919050565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b81525f611506613d8d613d87613d81601386018a613d3a565b88613d3a565b86613d3a565b84613d3a565b6001600160e01b031981168114612928575f5ffd5b5f60208284031215613db8575f5ffd5b8135610e7d81613d93565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b5f52602160045260245ffd5b60058110613e1557613e15613df1565b9052565b60048110613e1557613e15613df1565b613e34828251613e19565b6020818101516001600160a01b031690830152604090810151910152565b62ffffff815116825260208101511515602083015262ffffff604082015116604083015262ffffff606082015116606083015261ffff608082015116608083015261ffff60a08201511660a08301525050565b80515f0b82526001600160401b036020820151166020830152604081015160060b60408301526001600160401b036060820151166060830152608081015160808301525050565b8051825260208101515f0b60208301525f60408201516102406040850152613f18610240850182613dc3565b90506060830151848203606086015260408201613f36838351613e05565b602091820151604084840152805191829052909101906060600582901b8401810191908401905f5b81811015613f9057605f19868503018352613f7a848651613dc3565b6020958601959094509290920191600101613f5e565b50505060808501519250613fa76080870184613e29565b60a08501519250613fbb60e0870184613e52565b60c085015192506113476101a0870184613ea5565b602081525f610e7d6020830184613eec565b5f5f83601f840112613ff2575f5ffd5b5081356001600160401b03811115614008575f5ffd5b60208301915083602082850101111561401f575f5ffd5b9250929050565b5f5f60208385031215614037575f5ffd5b82356001600160401b0381111561404c575f5ffd5b61405885828601613fe2565b90969095509350505050565b6001600160401b0381168114612928575f5ffd5b803561179281614064565b5f5f60408385031215614094575f5ffd5b8235915060208301356140a681614064565b809150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561410857603f198786030184526140f3858351613eec565b945060209384019391909101906001016140d7565b50929695505050505050565b5f60208284031215614124575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b60c081018181106001600160401b038211171561415e5761415e61412b565b60405250565b604081018181106001600160401b038211171561415e5761415e61412b565b601f8201601f191681016001600160401b03811182821017156141a8576141a861412b565b6040525050565b5f6001600160401b038211156141c7576141c761412b565b50601f01601f191660200190565b5f6141df836141af565b6040516141ec8282614183565b809250848152858585011115614200575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215614228575f5ffd5b81356001600160401b0381111561423d575f5ffd5b8201601f8101841361424d575f5ffd5b6121cf848235602084016141d5565b8015158114612928575f5ffd5b5f5f5f6040848603121561427b575f5ffd5b83356001600160401b03811115614290575f5ffd5b61429c86828701613fe2565b90945092505060208401356142b08161425c565b809150509250925092565b6001600160e01b031991909116815260200190565b602081525f610e7d6020830184613dc3565b805f0b8114612928575f5ffd5b5f5f5f5f5f5f60808789031215614304575f5ffd5b86356001600160401b03811115614319575f5ffd5b61432589828a01613fe2565b9097509550506020870135614339816142e2565b935060408701356005811061434c575f5ffd5b925060608701356001600160401b03811115614366575f5ffd5b8701601f81018913614376575f5ffd5b80356001600160401b0381111561438b575f5ffd5b8960208260051b840101111561439f575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f606086880312156143c8575f5ffd5b85356001600160401b038111156143dd575f5ffd5b6143e988828901613fe2565b90965094505060208601356143fd816142e2565b925060408601356001600160401b03811115614417575f5ffd5b61442388828901613fe2565b969995985093965092949392505050565b6001600160a01b0381168114612928575f5ffd5b5f60208284031215614458575f5ffd5b8135610e7d81614434565b5f5f5f60408486031215614475575f5ffd5b83356001600160401b0381111561448a575f5ffd5b840160e0818703121561449b575f5ffd5b925060208401356001600160401b038111156144b5575f5ffd5b6144c186828701613fe2565b9497909650939450505050565b60c08101610d548284613e52565b60a08101610d548284613ea5565b5f60c082840312156144fa575f5ffd5b50919050565b5f60c08284031215614510575f5ffd5b610e7d83836144ea565b5f5f5f5f6060858703121561452d575f5ffd5b84356001600160401b03811115614542575f5ffd5b61454e87828801613fe2565b9095509350506020850135614562816142e2565b9396929550929360400135925050565b5f5f60408385031215614583575f5ffd5b8235915060208301356140a681614434565b5f5f5f61010084860312156145a8575f5ffd5b83356145b381614434565b925060208401356145c381614434565b91506145d285604086016144ea565b90509250925092565b62ffffff81168114612928575f5ffd5b5f5f604083850312156145fc575f5ffd5b823561460781613d93565b915060208301356140a6816145db565b5f5f5f5f5f5f60a0878903121561462c575f5ffd5b86356001600160401b03811115614641575f5ffd5b61464d89828a01613fe2565b9097509550506020870135614661816142e2565b9350604087013560048110614674575f5ffd5b9250606087013561468481614434565b95989497509295919493608090920135925050565b5f5f5f60e084860312156146ab575f5ffd5b83356001600160401b038111156146c0575f5ffd5b6146cc86828701613fe2565b90945092506145d2905085602086016144ea565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff83168061471a5761471a6146e0565b8060ff84160491505092915050565b60ff8181168382160190811115610d5457610d546146f4565b5f60ff831680614754576147546146e0565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f6147828285613d3a565b6101d160f51b81526113476002820185613d3a565b600181811c908216806147ab57607f821691505b6020821081036144fa57634e487b7160e01b5f52602260045260245ffd5b805161179281614064565b8051600681900b8114611792575f5ffd5b5f60a08284031280156147f6575f5ffd5b5060405160a081016001600160401b03811182821017156148195761481961412b565b6040528251614827816142e2565b8152602083015161483781614064565b6020820152614848604084016147d4565b6040820152606083015161485b81614064565b60608201526080928301519281019290925250919050565b5f82601f830112614882575f5ffd5b815161488d816141af565b60405161489a8282614183565b8281528560208487010111156148ae575f5ffd5b8260208601602083015e5f92810160200192909252509392505050565b5f5f604083850312156148dc575f5ffd5b82516148e781614434565b60208401519092506001600160401b03811115614902575f5ffd5b61490e85828601614873565b9150509250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff60e01b84168152604060208201525f611347604083018486614918565b5f60208284031215614972575f5ffd5b8151610e7d81613d93565b5f5f8335601e19843603018112614992575f5ffd5b83016020810192503590506001600160401b038111156149b0575f5ffd5b80360382131561401f575f5ffd5b608081525f6149d160808301888a614918565b865f0b60208401526149e66040840187613e05565b8281036060840152838152602080820190600586901b830101865f5b87811015614a4057848303601f19018452614a1d828a61497d565b614a28858284614918565b60209687019690955093909301925050600101614a02565b50909b9a5050505050505050505050565b5f60033d11156112215760045f5f3e505f5160e01c90565b5f60443d1015614a765790565b6040513d600319016004823e80513d60248201116001600160401b0382111715614a9f57505090565b80820180516001600160401b03811115614aba575050505090565b3d8401600319018282016020011115614ad4575050505090565b614ae360208285010185614183565b509392505050565b63ffffffff60e01b8816815260a060208201525f614b0d60a08301888a614918565b865f0b6040840152614b226060840187613e05565b8281036080840152838152602080820190600586901b830101865f5b87811015614b7c57848303601f19018452614b59828a61497d565b614b64858284614918565b60209687019690955093909301925050600101614b3e565b50909c9b505050505050505050505050565b5f60208284031215614b9e575f5ffd5b8151610e7d81614434565b608081525f614bbc60808301888a614918565b8281036020840152614bcf818789614918565b5f9590950b604084015250506001600160a01b0391909116606090910152949350505050565b5f5f60408385031215614c06575f5ffd5b8251614c1181613d93565b6020939093015192949293505050565b63ffffffff60e01b8816815260c060208201525f614c4360c08301888a614918565b9050855f0b6040830152614c5a6060830186613e19565b6001600160a01b0393909316608082015260a0015295945050505050565b60208082526018908201527f436c6f6e61626c65323a206e6f74206f6e20636c6f6e65730000000000000000604082015260600190565b61ffff81168114612928575f5ffd5b803561179281614caf565b5f60208284031215614cd9575f5ffd5b8135610e7d81614caf565b6040808252843582820152602085013560608301525f90850135614d0781614caf565b61ffff1660808301526060850135614d1e81614caf565b61ffff1660a08301526080850135614d3581614064565b6001600160401b031660c0830152614d4f60a08601614078565b6001600160401b031660e0830152614d6a60c086018661497d565b60e0610100850152614d8161012085018284614918565b9150508281036020840152611506818587614918565b805160148110611792575f5ffd5b805160ff81168114611792575f5ffd5b5f60c08284031215614dc5575f5ffd5b604051614dd18161413f565b80915082516001600160401b03811115614de9575f5ffd5b830160408186031215614dfa575f5ffd5b604051614e0681614164565b81516001600160401b03811115614e1b575f5ffd5b614e2787828501614873565b825250602091820151828201528252614e41908401614da5565b6020820152614e5260408401614da5565b6040820152614e6360608401614da5565b6060820152614e74608084016147c9565b6080820152614e8560a084016147c9565b60a08201525092915050565b5f60208284031215614ea1575f5ffd5b81516001600160401b03811115614eb6575f5ffd5b820160c08185031215614ec7575f5ffd5b604051614ed38161413f565b81516101008110614ee2575f5ffd5b8152614ef060208301614d97565b60208201526040828101519082015260608083015190820152614f15608083016147c9565b608082015260a08201516001600160401b03811115614f32575f5ffd5b614f3e86828501614db5565b60a083015250949350505050565b6001600160401b038181168382160190811115610d5457610d546146f4565b6001600160401b038281168282160390811115610d5457610d546146f4565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610d5457610d546146f4565b5f8160060b667fffffffffffff198103614fd557614fd56146f4565b5f0392915050565b5f8260060b8260060b028060060b9150808214612feb57612feb6146f4565b5f6001600160401b03831680615014576150146146e0565b806001600160401b0384160491505092915050565b5f60c082840312801561503a575f5ffd5b506040516150478161413f565b8235615052816145db565b815260208301356150628161425c565b60208201526040830135615075816145db565b60408201526060830135615088816145db565b6060820152608083013561509b81614caf565b60808201526150ac60a08401614cbe565b60a08201529392505050565b5f8135610d54816145db565b5f8135610d5481614caf565b81356150db816145db565b62ffffff8116905081548162ffffff19821617835560208401356150fe8161425c565b63ffffffff199190911690911790151560181b63ff000000161781555f6040830135615129816145db565b825466ffffff00000000191660209190911b66ffffff000000001617825550615179615157606084016150b8565b825462ffffff60381b191660389190911b69ffffff0000000000000016178255565b6151a8615188608084016150c4565b82805461ffff60501b191660509290921b61ffff60501b16919091179055565b61310c6151b760a084016150c4565b82805461ffff60601b191660609290921b61ffff60601b16919091179055565b608081525f6151ea608083018789614918565b6020830195909552505f9290920b60408301526001600160a01b031660609091015292915050565b5f60c0828403128015615223575f5ffd5b506040516152308161413f565b825161523b81614064565b8152602083015161524b81614064565b602082015261525c604084016147d4565b6040820152606083015161526f816142e2565b6060820152608083015161528281614064565b608082015260a0928301519281019290925250919050565b5f6121cf613d8d8386613d3a565b60a081525f6152ba60a0830188613dc3565b9050855f0b60208301526152d16040830186613e19565b6001600160a01b03939093166060820152608001529392505050565b63ffffffff60e01b8716815260c060208201525f61530e60c0830188613dc3565b9050855f0b60408301526153256060830186613e19565b6001600160a01b0393909316608082015260a00152949350505050565b63ffffffff60e01b8416815261010060208201525f615365610100830185613dc3565b90506121cf6040830184613e52565b5f60018201615385576153856146f4565b5060010190565b80820180821115610d5457610d546146f456fe610100604052348015610010575f5ffd5b50604051610b77380380610b7783398101604081905261002f916100c1565b6001600160e01b0319811660808190526040516371b50ecf60e11b815260048101919091526001600160a01b0383169063e36a1d9e90602401602060405180830381865afa158015610083573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610110565b60a052506001600160a01b031660c081905260e052610127565b5f5f604083850312156100d2575f5ffd5b82516001600160a01b03811681146100e8575f5ffd5b60208401519092506001600160e01b031981168114610105575f5ffd5b809150509250929050565b5f60208284031215610120575f5ffd5b5051919050565b60805160a05160c05160e0516109d16101a65f395f818160ee01528181610322015281816103f4015281816104cb01528181610569015261065701525f61024e01525f61013201525f818161021a015281816102970152818161035101528181610423015281816104f801528181610598015261068601526109d15ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c80638205bf6a11610088578063b5ab58dc11610063578063b5ab58dc14610202578063e9159d6414610215578063f98d06f014610249578063feaf968c14610270575f5ffd5b80638205bf6a146101a857806395d89b41146101b05780639a6fc8f5146101b8575f5ffd5b806350d25bcd116100c357806350d25bcd1461017c57806354fd4d5014610184578063668a0f021461018b5780637284e41614610193575f5ffd5b80631014d375146100e9578063311893341461012d578063313ce56714610162575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101547f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610124565b61016a610278565b60405160ff9091168152602001610124565b61015461031e565b6003610154565b6101546103d8565b61019b6103e6565b604051610124919061072e565b6101546103f0565b61019b6104b1565b6101cb6101c6366004610763565b610561565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610124565b610154610210366004610793565b610640565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161012491906107aa565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6101cb61064f565b60405163274d45db60e01b81525f908190339063274d45db906102bf907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b602060405180830381865afa1580156102da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe91906107d4565b90505f815f0b1261030f5780610318565b610318816107ed565b91505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161038c91906107aa565b60a060405180830381865afa1580156103a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610872565b6020015160070b92915050565b5f6103e16103f0565b905090565b60606103e16104b1565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161045e91906107aa565b60a060405180830381865afa158015610479573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190610872565b6060015167ffffffffffffffff1692915050565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890610520907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b5f60405180830381865afa15801561053a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e19190810190610907565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105d391906107aa565b60a060405180830381865afa1580156105ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106129190610872565b6060810151602090910151979860079890980b9767ffffffffffffffff909116965086955088945092505050565b5f61064961031e565b92915050565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106c191906107aa565b60a060405180830381865afa1580156106dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107009190610872565b606081015160209091015167ffffffffffffffff9091169760079190910b9650879550859450849350915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610773575f5ffd5b813569ffffffffffffffffffff8116811461078c575f5ffd5b9392505050565b5f602082840312156107a3575f5ffd5b5035919050565b6001600160e01b031991909116815260200190565b80515f81900b81146107cf575f5ffd5b919050565b5f602082840312156107e4575f5ffd5b61078c826107bf565b5f81810b6080810161080d57634e487b7160e01b5f52601160045260245ffd5b5f0392915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085257610852610815565b604052919050565b67ffffffffffffffff8116811461086f575f5ffd5b50565b5f60a0828403128015610883575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156108a7576108a7610815565b6040526108b3836107bf565b815260208301516108c38161085a565b60208201526040830151600681900b81146108dc575f5ffd5b604082015260608301516108ef8161085a565b60608201526080928301519281019290925250919050565b5f60208284031215610917575f5ffd5b815167ffffffffffffffff81111561092d575f5ffd5b8201601f8101841361093d575f5ffd5b805167ffffffffffffffff81111561095757610957610815565b61096a601f8201601f1916602001610829565b81815285602083850101111561097e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220359d7b00b161eb1185c80ab7bdded7f6a4835167c476da5fec74777b82b96fde64736f6c634300081e0033c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53904c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900a26469706673582212206658637937abb4e03bf414c465e38325f47d1ae58fa35ee5a0a5ef7ba8b654d364736f6c634300081e0033",
  "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061030a575f3560e01c8063974454091161019b578063c86564b1116100e7578063e36a1d9e116100a0578063ee97f7f31161007a578063ee97f7f314610811578063f2fde38b14610819578063f78eea831461082c578063fa78a9711461085a5761030a565b8063e36a1d9e146107d8578063e56bd315146107eb578063e59a7808146107fe5761030a565b8063c86564b11461077c578063d4b839921461078f578063d7f1ae3514610797578063d9ea438f146107aa578063e27b1088146107bd578063e30c3978146107d05761030a565b8063b411ee9411610154578063bff852fa1161012e578063bff852fa14610710578063c5010d1714610743578063c66f4c0a14610756578063c70f2f73146107695761030a565b8063b411ee94146106cd578063b4fd7296146106e0578063b5dcc911146104b85761030a565b8063974454091461065e5780639d61f28b1461044e578063a04daef01461067e578063a9e954b914610686578063aba146ff146106ad578063adb7c3f7146106c05761030a565b806354fd4d501161025a57806379393a8b116102135780638da5cb5b116101ed5780638da5cb5b146106265780639190795f146106365780639474f45b1461064b57806396834ad31461064b5761030a565b806379393a8b146105da57806379ba5097146105ed5780638a416ea9146105f55761030a565b806354fd4d5014610571578063608921931461058657806367e559ac146105995780636b58960a146105ac5780636d0d6a7e146105bf578063715018a6146105d25761030a565b80633108e1b8116102c75780634c7510d0116102a15780634c7510d0146104de5780635001f3b5146104fe57806352d1902d146105245780635479d9401461054b5761030a565b80633108e1b8146104a357806331d98b3f146104b8578063439fab91146104cb5761030a565b80630683bcd2146103735780631014d3751461039c578063158ef93e146103db578063238e0a8a14610408578063274d45db14610429578063288b5e671461044e575b61037161031a5f3560f81c61086d565b61032a60ff5f3560f01c1661086d565b61033a60ff5f3560e81c1661086d565b61034a60ff5f3560e01c1661086d565b60405160200161035d9493929190613d51565b604051602081830303815290604052610959565b005b610386610381366004613da8565b6109c8565b6040516103939190613fd0565b60405180910390f35b6103c37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610393565b5f516020615f175f395f51905f5254600160601b900461ffff1615155b6040519015158152602001610393565b61041b610416366004614026565b610d52565b604051908152602001610393565b61043c610437366004613da8565b610d5a565b6040515f9190910b8152602001610393565b61046161045c366004614083565b610d77565b6040516103939190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b6104ab610e84565b60405161039391906140b1565b6104616104c6366004614114565b610f44565b6103716104d9366004614218565b610fa2565b6104f16104ec366004614269565b6111d6565b60405161039391906142bb565b7f00000000000000000000000000000000000000000000000000000000000000006103c3565b61041b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006103f8565b610579611350565b60405161039391906142d0565b6104f16105943660046142ef565b611380565b6104f16105a73660046143b4565b611510565b6103f86105ba366004614448565b61171c565b6103716105cd366004614463565b611797565b610371611cb4565b6103716105e8366004614448565b611cc7565b610371611f53565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b6104f1565b5f546001600160a01b03166103c3565b61063e611f5b565b60405161039391906144ce565b610461610659366004614114565b611fda565b61067161066c366004613da8565b612020565b60405161039391906144dc565b6103f86120bc565b7f00000000000000000000000000000000000000000000000000000000000000003f61041b565b6103716106bb366004614500565b6120ff565b63f4891aa360e01b6104f1565b61041b6106db366004614218565b61216f565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53905546001600160a01b03166103c3565b6040805180820190915260178152765769745072696365466565647355706772616461626c6560481b6020820152610579565b6103f8610751366004614026565b612179565b610671610764366004613da8565b6121d7565b6104f161077736600461451a565b612234565b6103c361078a366004614572565b61243d565b6103c361254e565b6103c36107a5366004614595565b6125d3565b6106716107b83660046145eb565b61260b565b6105796107cb366004613da8565b6126b7565b6103c3612750565b61041b6107e6366004613da8565b612763565b6103c36107f9366004614026565b61276d565b6104f161080c366004614617565b61287e565b6103c36128d6565b610371610827366004614448565b612917565b61083f61083a366004614114565b61292b565b60408051938452602084019290925290820152606001610393565b610371610868366004614699565b612a6d565b6040805160028082528183019092526060915f91906020820181803683370190505090505f61089d601085614708565b6108a8906030614729565b90505f6108b6601086614742565b6108c1906030614729565b905060398260ff1611156108dd576108da600783614729565b91505b60398160ff1611156108f7576108f4600782614729565b90505b8160f81b835f8151811061090d5761090d614763565b60200101906001600160f81b03191690815f1a9053508060f81b8360018151811061093a5761093a614763565b60200101906001600160f81b03191690815f1a90535091949350505050565b6040805180820190915260178152765769745072696365466565647355706772616461626c6560481b602082015281604051602001610999929190614777565b60408051601f198184030181529082905262461bcd60e51b82526109bf916004016142d0565b60405180910390fd5b6109d0613c63565b5f6109da83612ad7565b6001810154909150600160501b900460ff1660605f826004811115610a0157610a01613df1565b14610b74575f610a1a6001600160e01b03198716612b13565b905080516001600160401b03811115610a3557610a3561412b565b604051908082528060200260200182016040528015610a6857816020015b6060815260200190600190039081610a535790505b5091505f5b8151811015610b71575f516020615f375f395f51905f526001015f838381518110610a9a57610a9a614763565b60200260200101516001600160e01b0319166001600160e01b03191681526020019081526020015f205f018054610ad090614797565b80601f0160208091040260200160405190810160405280929190818152602001828054610afc90614797565b8015610b475780601f10610b1e57610100808354040283529160200191610b47565b820191905f5260205f20905b815481529060010190602001808311610b2a57829003601f168201915b5050505050838281518110610b5e57610b5e614763565b6020908102919091010152600101610a6d565b50505b600183015460028401546040805160e08101909152600160581b830460ff1692600160601b90046001600160a01b03169080610baf8a612bdc565b81526001880154600160201b90045f0b602082015287546040909101908890610bd790614797565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0390614797565b8015610c4e5780601f10610c2557610100808354040283529160200191610c4e565b820191905f5260205f20905b815481529060010190602001808311610c3157829003601f168201915b505050505081526020016040518060400160405280886004811115610c7557610c75613df1565b81526020018781525081526020016040518060600160405280866003811115610ca057610ca0613df1565b8152602001846001600160a01b03168152602001858152508152602001610cc988600401612c4e565b815260200173__WitPriceFeedsDataLib__________________63974454098b6040518263ffffffff1660e01b8152600401610d0591906142bb565b60a060405180830381865af4158015610d20573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4491906147e5565b905298975050505050505050565b5f5b92915050565b5f610d6482612ad7565b60010154600160201b90045f0b92915050565b604080516080810182525f808252602082018190528183018190526060820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff83166024820152610e7d9073__WitPriceFeedsDataLib__________________9063d9ea438f906044015b60a060405180830381865af4158015610dfd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2191906147e5565b60408051608080820183525f80835260208084018290528385018290526060938401829052845192830185528581015160070b835282018190528451900b92810192909252918201516001600160401b03169181019190915290565b9392505050565b5f516020615f375f395f51905f528054606091906001600160401b03811115610eaf57610eaf61412b565b604051908082528060200260200182016040528015610ee857816020015b610ed5613c63565b815260200190600190039081610ecd5790505b5091505f5b8251811015610f3f57610f1a610381838381548110610f0e57610f0e614763565b905f5260205f20015490565b838281518110610f2c57610f2c614763565b6020908102919091010152600101610eed565b505090565b604080516080810182525f808252602082018190529181018290526060810191909152610d5473__WitPriceFeedsDataLib__________________63c66f4c0a845b6040518263ffffffff1660e01b8152600401610de291906142bb565b5f546001600160a01b031680610fd85781806020019051810190610fc691906148cb565b92509050610fd381612dc7565b611020565b336001600160a01b038216146110205760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b60448201526064016109bf565b61102982612de0565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061109a57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156110e75760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f6465686173680000000060448201526064016109bf565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661118b5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66111bd611350565b6040516111ca91906142d0565b60405180910390a45050565b5f6111df612f1e565b5f61122461122186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b90565b6040516303e8c70160e51b81526001600160e01b031982166004820152841515602482015290915073__WitPriceFeedsDataLib__________________90637d18e020906044015f6040518083038186803b158015611281575f5ffd5b505af4158015611293573d5f5f3e3d5ffd5b50505050336001600160a01b03167f757500535198cca670e5ed07230e87648f077ff0ec74b0cef5df05db58a996188287876040516112d493929190614940565b60405180910390a273__WitPriceFeedsDataLib__________________63fce897db6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611323573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113479190614962565b95945050505050565b606061137b7f0000000000000000000000000000000000000000000000000000000000000000612f4a565b905090565b5f611389612f1e565b60405163543dda3760e01b815273__WitPriceFeedsDataLib__________________9063543dda37906113ca908a908a908a908a908a908a906004016149be565b602060405180830381865af4925050508015611403575060408051601f3d908101601f1916820190925261140091810190614962565b60015b6114765761140f614a51565b806308c379a00361143d5750611423614a69565b8061142e575061143f565b61143781610959565b50611506565b505b3d808015611468576040519150601f19603f3d011682016040523d82523d5f602084013e61146d565b606091505b50611437612ff2565b336001600160a01b03167fc15d7f9f6442190dc6f24107279211aeb0c9e831201b7660eb0dee70e43938046114e26112218b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b8a8a8a8a8a8a6040516114fb9796959493929190614aeb565b60405180910390a290505b9695505050505050565b5f611519612f1e565b73__WitPriceFeedsDataLib__________________630873d81d87878686897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611594573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b89190614b8e565b6040518763ffffffff1660e01b81526004016115d996959493929190614ba9565b6040805180830381865af4925050508015611611575060408051601f3d908101601f1916820190925261160e91810190614bf5565b60015b6116845761161d614a51565b806308c379a00361164b5750611631614a69565b8061163c575061164d565b61164581610959565b50611347565b505b3d808015611676576040519150601f19603f3d011682016040523d82523d5f602084013e61167b565b606091505b50611645612ff2565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b6116f06112218b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b8a8a8a5f30886040516117099796959493929190614c21565b60405180910390a2509695505050505050565b5f6117256120bc565b156117425760405162461bcd60e51b81526004016109bf90614c78565b7f00000000000000000000000000000000000000000000000000000000000000008015610d545750816001600160a01b03166117855f546001600160a01b031690565b6001600160a01b03161490505b919050565b6020838101355f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53903909152604090205460e01b6001600160e01b031981166117f55760405163e60dce7160e01b815260040160405180910390fd5b5f6117ff82612ad7565b90505f61180e82600401612c4e565b60a081015190915061ffff1661182a6080880160608901614cc9565b61ffff16101561184d576040516363daeb7760e01b815260040160405180910390fd5b604051633686b53f60e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d0d6a7e9061189f908a908a908a90600401614ce4565b5f604051808303815f875af11580156118ba573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118e19190810190614e91565b90505f815160ff8111156118f7576118f7613df1565b148015611919575060048160200151601381111561191757611917613df1565b145b6119365760405163734fff6760e11b815260040160405180910390fd5b600583015460808201516001600160401b03600160c01b909204821691161161197257604051636f162bfd60e11b815260040160405180910390fd5b6040820151600584015461199b9162ffffff1690600160c01b90046001600160401b0316614f4c565b6001600160401b031681608001516001600160401b031610156119d157604051630fbbc58160e01b815260040160405180910390fd5b60058301546080820151600160b81b82045f90810b929091611a0291600160c01b90046001600160401b0316614f6b565b600586015462ffffff919091169150600160401b90046001600160401b03165f611a2b85613023565b90505f611a388383614f8a565b90505f5f8260060b1215611a745783611a5083614fb9565b611a5c906103e8614fdd565b66ffffffffffffff16611a6f9190614ffc565b611a94565b83611a81836103e8614fdd565b66ffffffffffffff16611a949190614ffc565b9050876080015161ffff16816001600160401b03161115611ac857604051637b0d2bb560e01b815260040160405180910390fd5b60058901805460808901516001600160401b03908116600160c01b026001600160c01b03918716600160401b026fffffffffffffffff00000000000000001966ffffffffffffff8816600160801b021676ffffffffffffffffffffffffffffff000000000000000019909416939093179290921716179055604087015160068a01555f611b5f5f516020615f375f395f51905f5290565b600501546001600160a01b031603611bee576080808801516040808a015181516001600160401b039384168152602081019190915291861690820152600684900b60608201525f88900b918101919091526001600160e01b03198b16907f0800977f281a92a8fb15f0b059791b2ffcc82fdc78be5227cec46afdb45f947d9060a00160405180910390a2611ca5565b5f516020615f375f395f51905f526005015460808801516040808a0151905163292e503960e11b81526001600160e01b03198e1660048201526001600160401b03928316602482015260448101919091528186166064820152600685900b608482015290871660a48201525f88900b60c48201526001600160a01b039091169063525ca0729060e4015f604051808303815f87803b158015611c8e575f5ffd5b505af1158015611ca0573d5f5f3e3d5ffd5b505050505b50505050505050505050505050565b611cbc612f1e565b611cc55f612dc7565b565b611ccf6120bc565b611d175760405162461bcd60e51b8152602060048201526019602482015278436c6f6e61626c65323a206f6e6c79206f6e20636c6f6e657360381b60448201526064016109bf565b611d1f612f1e565b611f126001600160a01b0382163014801590611d6d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611d925750611d7c61254e565b6001600160a01b0316826001600160a01b031614155b8015611db75750611da16128d6565b6001600160a01b0316826001600160a01b031614155b8015611dcc57505f826001600160a01b03163b115b8015611e485750306001600160a01b0316826001600160a01b0316635f1cf1376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e19573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3d9190614b8e565b6001600160a01b0316145b8015611ee457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316631014d3756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed99190614b8e565b6001600160a01b0316145b6040518060400160405280601081526020016f34b73b30b634b21031b7b739bab6b2b960811b8152506130fe565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390580546001600160a01b0319166001600160a01b0392909216919091179055565b611cc5613110565b611f63613cf9565b506040805160c0810182525f516020615f175f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a082015290565b604080516080810182525f808252602082018190529181018290526060810191909152610d5473__WitPriceFeedsDataLib__________________639744540984610f86565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051639744540960e01b815273__WitPriceFeedsDataLib__________________9063974454099061207d9085906004016142bb565b60a060405180830381865af4158015612098573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5491906147e5565b5f6120c561318b565b15801561137b5750507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b031630141590565b612107612f1e565b61215161212161211c36849003840184615029565b6131f3565b60405180604001604052806012815260200171696e76616c696420636f6e646974696f6e7360701b8152506130fe565b805f516020615f175f395f51905f5261216a82826150d0565b505050565b5f610d5482613227565b5f5f6121c46121bf61122186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b612ad7565b90506121cf81613256565b949350505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051636337a60560e11b815273__WitPriceFeedsDataLib__________________9063c66f4c0a9061207d9085906004016142bb565b5f61223d612f1e565b73__WitPriceFeedsDataLib__________________63ef0bf0a0868685877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122db9190614b8e565b6040518663ffffffff1660e01b81526004016122fb9594939291906151d7565b602060405180830381865af4925050508015612334575060408051601f3d908101601f1916820190925261233191810190614962565b60015b6123a757612340614a51565b806308c379a00361236e5750612354614a69565b8061235f5750612370565b61236881610959565b506121cf565b505b3d808015612399576040519150601f19603f3d011682016040523d82523d5f602084013e61239e565b606091505b50612368612ff2565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61241361122189898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b8888885f308a60405161242c9796959493929190614c21565b60405180910390a295945050505050565b5f6124466120bc565b156124635760405162461bcd60e51b81526004016109bf90614c78565b61246c836132ab565b6001600160a01b031663d7f1ae3561248261254e565b60405160e083901b6001600160e01b03191681526001600160a01b03918216600482015290851660248201525f516020615f175f395f51905f525462ffffff808216604484015260ff601883901c1615156064840152602082901c81166084840152603882901c1660a483015261ffff605082901c811660c484015260609190911c1660e4820152610104016020604051808303815f875af115801561252a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7d9190614b8e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd545f906001600160a01b03166125a457507f000000000000000000000000000000000000000000000000000000000000000090565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b031690565b5f6125dd83612dc7565b815f516020615f175f395f51905f526125f682826150d0565b9050506126028461336c565b50309392505050565b6040805160a0810182525f80825260208201819052818301819052606082018190526080820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff8316602482015273__WitPriceFeedsDataLib__________________9063d9ea438f9060440160a060405180830381865af4158015612693573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7d91906147e5565b60606126c282612ad7565b80546126cd90614797565b80601f01602080910402602001604051908101604052809291908181526020018280546126f990614797565b80156127445780601f1061271b57610100808354040283529160200191612744565b820191905f5260205f20905b81548152906001019060200180831161272757829003601f168201915b50505050509050919050565b5f61137b6001546001600160a01b031690565b5f610d5482612bdc565b5f6127788383612179565b61279557604051630295d7cd60e31b815260040160405180910390fd5b5f604051806020016127a690613d2d565b6020820181038252601f19601f8201166040525090505f306127ff61122187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061216f92505050565b60405160609290921b6bffffffffffffffffffffffff191660208301526001600160e01b031916603482015260380160405160208183030381529060405290505f61284a83836134e4565b9050806001600160a01b03163b5f03611347575f6128688484613565565b90505f8151602083015ff5979650505050505050565b5f612887612f1e565b6128cb87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525089925088915087905086613591565b979650505050505050565b5f6128df6120bc565b6128e857505f90565b507f033dcaf396f361642869bf1bdf9c3454888f3e9bbf7939acdd2e40c3833fef00546001600160a01b031690565b61291f612f1e565b6129288161366b565b50565b5f8080838161293982612ad7565b90505f61294882600401612c4e565b6060810151604051631752c19f60e01b8152600481018590526001600160e01b03198616602482015262ffffff90911660448201529091505f9073__WitPriceFeedsDataLib__________________90631752c19f9060640160c060405180830381865af41580156129bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e09190615212565b80519091506001600160401b03166129fc5780602001516129ff565b80515b6001600160401b0316965080608001516001600160401b03169550855f14612a5857816060015162ffffff168160800151612a3a9190614f4c565b6001600160401b03164211612a505760c8612a5c565b610190612a5c565b6101945b61ffff169450505050509193909250565b612a75612f1e565b612a8a61212161211c36849003840184615029565b61216a83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612ad29250505036849003840184615029565b61369c565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120610d54565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160209081526040918290206003015482516008808252610120820190945260609391929091908201610100803683370190505091505f5b6008811015612bd457816001600160e01b031981165f03612b9b5750612bd4565b80848381518110612bae57612bae614763565b6001600160e01b03199092166020928302919091018201529290921b9150600101612b7a565b825250919050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120600101545f516020615f375f395f51905f528054909163ffffffff16908110612c3e57612c3e614763565b905f5260205f2001549050919050565b612c56613cf9565b6040805160c0810190915282545f516020615f175f395f51905f529190819062ffffff1615612c8b57845462ffffff16612c93565b825462ffffff165b62ffffff16815284546020909101906301000000900460ff1680612cbf575082546301000000900460ff165b151581528454602090910190600160201b900462ffffff1615612cef578454600160201b900462ffffff16612cfe565b8254600160201b900462ffffff165b62ffffff90811682528554602090920191600160381b90041615612d2f578454600160381b900462ffffff16612d3e565b8254600160381b900462ffffff165b62ffffff1681528454602090910190600160501b900461ffff1615612d6f578454600160501b900461ffff16612d7d565b8254600160501b900461ffff165b61ffff90811682528554602090920191600160601b90041615612dac578454600160601b900461ffff16612dba565b8254600160601b900461ffff165b61ffff1690529392505050565b600180546001600160a01b0319169055612928816137c0565b612de86120bc565b15612e055760405162461bcd60e51b81526004016109bf90614c78565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580612eac57506040805160c0810182525f516020615f175f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a0820152612eaa906131f3565b155b1561292857506040805160c081018252620f424081525f60208201526103849181019190915262015180606082015260fa6080820152600360a0909101525f516020615f175f395f51905f5280546dffffffffffffffffffffffffffff19166c0300fa015180000384000f4240179055565b5f546001600160a01b03163314611cc55760405163118cdaa760e01b81523360048201526024016109bf565b60605f612f568361380f565b6001600160401b03811115612f6d57612f6d61412b565b6040519080825280601f01601f191660200182016040528015612f97576020820181803683370190505b5090505f5b8151811015612feb57838160208110612fb757612fb7614763565b1a60f81b828281518110612fcd57612fcd614763565b60200101906001600160f81b03191690815f1a905350600101612f9c565b5092915050565b611cc56040518060400160405280601081526020016f1d5b9a185b991b1959081c995d995c9d60821b815250610959565b5f81600461303082613847565b158015613062575080601381111561304a5761304a613df1565b8260200151601381111561306057613060613df1565b145b6130ae5760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f74206665746368206461746100000000000000000060448201526064016109bf565b6130bb8460a00151613854565b92506130ca8260a001516138a3565b826020019060138111156130e0576130e0613df1565b908160138111156130f3576130f3613df1565b815250505050919050565b8161310c5761310c81610959565b5050565b338061311a612750565b6001600160a01b0316146131825760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016109bf565b61292881612dc7565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061137b57507f033dcaf396f361642869bf1bdf9c3454888f3e9bbf7939acdd2e40c3833fef00546001600160a01b0316301415919050565b80515f9062ffffff161580159061321257505f826060015162ffffff16115b8015610d5457505060a0015161ffff16151590565b5f8160405160200161323991906142d0565b604051602081830303815290604052805190602001209050919050565b60028101545f9015158061328b57506001820154600160501b900460ff16600481111561328557613285613df1565b60ff1615155b80610d5457505060010154600160601b90046001600160a01b0316151590565b5f5f6132b5613965565b9050826037825ff591506001600160a01b0382166133155760405162461bcd60e51b815260206004820152601960248201527f436c6f6e61626c65323a2043524541544532206661696c65640000000000000060448201526064016109bf565b816001600160a01b031661332761254e565b6001600160a01b0316336001600160a01b03167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a450919050565b5f6133756139b6565b805490915060ff600160401b82041615906001600160401b03165f8115801561339b5750825b90505f826001600160401b031660011480156133b65750303b155b9050811580156133c4575080155b156133e25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561340c57845460ff60401b1916600160401b1785555b6134146120bc565b61345c5760405162461bcd60e51b8152602060048201526019602482015278436c6f6e61626c65323a206f6e6c79206f6e20636c6f6e657360381b60448201526064016109bf565b7f033dcaf396f361642869bf1bdf9c3454888f3e9bbf7939acdd2e40c3833fef0080546001600160a01b0319166001600160a01b03881617905583156134dc57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f6001600160f81b031930826134fa8686613565565b805160209182012060405161354695949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b6060828260405160200161357a92919061529a565b604051602081830303815290604052905092915050565b6040516307cc0ad760e51b81525f9073__WitPriceFeedsDataLib__________________9063f9815ae0906135d290899089908990899089906004016152a8565b602060405180830381865af492505050801561360b575060408051601f3d908101601f1916820190925261360891810190614962565b60015b6136175761161d614a51565b337fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b6136456112218a61216f565b898989898960405161365c969594939291906152ed565b60405180910390a29050611347565b613673612f1e565b6001600160a01b03811661318257604051631e4fbdf760e01b81525f60048201526024016109bf565b5f6136a96112218461216f565b90505f6136b582612ad7565b835160048201805460208701516040880151606089015160808a015160a08b015162ffffff97881663ffffffff19909616959095176301000000851515021769ffffffffffff000000001916600160201b9388169390930262ffffff60381b191692909217600160381b96909116959095029490941763ffffffff60501b1916600160501b61ffff9586160261ffff60601b191617600160601b94909216939093021790559091506137755760058101805467ffffffffffffffff191690555b336001600160a01b03167f814f158692029e154b102dae29959b818f77214e280f47232b45c9170935349d8386866040516137b293929190615342565b60405180910390a250505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b60208110156117925781816020811061382c5761382c614763565b1a60f81b6001600160f81b0319161561179257600101613811565b5f610d54825f01516139de565b5f815f8060ff16826040015160ff161461389257604080830151905161800560e51b815260ff918216600482015290821660248201526044016109bf565b6121cf845f01518560600151613a15565b5f6138b78251805151602090910151101590565b611792576006826040015160ff16116138ff5760408201516502020183808360d11b9060ff16600781106138ed576138ed614763565b1a6013811115610d5457610d54613df1565b816040015160ff1660070361179257816060015160ff166014148061392b5750816060015160ff166015145b1561393857506002919050565b6019826060015160ff16101580156139585750601b826060015160ff1611155b1561179257506005919050565b60605f61397061254e565b90506040519150733d602d80600a3d3981f3363d3d373d3d3d363d7360601b82528060601b60148301526e5af43d82803e903d91602b57fd5bf360881b60288301525090565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610d54565b5f60f08260ff8111156139f3576139f3613df1565b1480610d54575060f18260ff811115613a0e57613a0e613df1565b1492915050565b5f60188260ff161015613a2c575060ff8116610d54565b8160ff16601803613a4a57613a4083613adc565b60ff169050610d54565b8160ff16601903613a6957613a5e83613b3c565b61ffff169050610d54565b8160ff16601a03613a8a57613a7d83613ba7565b63ffffffff169050610d54565b8160ff16601b03613aa557613a9e83613c05565b9050610d54565b8160ff16601f03613abe57506001600160401b03610d54565b604051636d785b1360e01b815260ff831660048201526024016109bf565b5f8160200151825f01515180821115613b12576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051808301600101519550908190613b2f82615374565b8152505050505050919050565b5f81602001516002613b4e919061538c565b82515180821115613b7c576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051600281840181015196509091613b9a828461538c565b9052509395945050505050565b5f81602001516004613bb9919061538c565b82515180821115613be7576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051600481840181015196509091613b9a828461538c565b5f81602001516008613c17919061538c565b82515180821115613c45576040516363a056dd60e01b815260048101839052602481018290526044016109bf565b8351602085018051600881840181015196509091613b9a828461538c565b6040518060e001604052805f81526020015f5f0b815260200160608152602001613c9d604080518082019091525f81526060602082015290565b8152604080516060810182525f8082526020828101829052928201529101908152602001613cc9613cf9565b81526040805160a0810182525f808252602082810182905292820181905260608201819052608082015291015290565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915290565b610b77806153a083390190565b5f81518060208401855e5f93019283525090919050565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b81525f611506613d8d613d87613d81601386018a613d3a565b88613d3a565b86613d3a565b84613d3a565b6001600160e01b031981168114612928575f5ffd5b5f60208284031215613db8575f5ffd5b8135610e7d81613d93565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b5f52602160045260245ffd5b60058110613e1557613e15613df1565b9052565b60048110613e1557613e15613df1565b613e34828251613e19565b6020818101516001600160a01b031690830152604090810151910152565b62ffffff815116825260208101511515602083015262ffffff604082015116604083015262ffffff606082015116606083015261ffff608082015116608083015261ffff60a08201511660a08301525050565b80515f0b82526001600160401b036020820151166020830152604081015160060b60408301526001600160401b036060820151166060830152608081015160808301525050565b8051825260208101515f0b60208301525f60408201516102406040850152613f18610240850182613dc3565b90506060830151848203606086015260408201613f36838351613e05565b602091820151604084840152805191829052909101906060600582901b8401810191908401905f5b81811015613f9057605f19868503018352613f7a848651613dc3565b6020958601959094509290920191600101613f5e565b50505060808501519250613fa76080870184613e29565b60a08501519250613fbb60e0870184613e52565b60c085015192506113476101a0870184613ea5565b602081525f610e7d6020830184613eec565b5f5f83601f840112613ff2575f5ffd5b5081356001600160401b03811115614008575f5ffd5b60208301915083602082850101111561401f575f5ffd5b9250929050565b5f5f60208385031215614037575f5ffd5b82356001600160401b0381111561404c575f5ffd5b61405885828601613fe2565b90969095509350505050565b6001600160401b0381168114612928575f5ffd5b803561179281614064565b5f5f60408385031215614094575f5ffd5b8235915060208301356140a681614064565b809150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561410857603f198786030184526140f3858351613eec565b945060209384019391909101906001016140d7565b50929695505050505050565b5f60208284031215614124575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b60c081018181106001600160401b038211171561415e5761415e61412b565b60405250565b604081018181106001600160401b038211171561415e5761415e61412b565b601f8201601f191681016001600160401b03811182821017156141a8576141a861412b565b6040525050565b5f6001600160401b038211156141c7576141c761412b565b50601f01601f191660200190565b5f6141df836141af565b6040516141ec8282614183565b809250848152858585011115614200575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215614228575f5ffd5b81356001600160401b0381111561423d575f5ffd5b8201601f8101841361424d575f5ffd5b6121cf848235602084016141d5565b8015158114612928575f5ffd5b5f5f5f6040848603121561427b575f5ffd5b83356001600160401b03811115614290575f5ffd5b61429c86828701613fe2565b90945092505060208401356142b08161425c565b809150509250925092565b6001600160e01b031991909116815260200190565b602081525f610e7d6020830184613dc3565b805f0b8114612928575f5ffd5b5f5f5f5f5f5f60808789031215614304575f5ffd5b86356001600160401b03811115614319575f5ffd5b61432589828a01613fe2565b9097509550506020870135614339816142e2565b935060408701356005811061434c575f5ffd5b925060608701356001600160401b03811115614366575f5ffd5b8701601f81018913614376575f5ffd5b80356001600160401b0381111561438b575f5ffd5b8960208260051b840101111561439f575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f606086880312156143c8575f5ffd5b85356001600160401b038111156143dd575f5ffd5b6143e988828901613fe2565b90965094505060208601356143fd816142e2565b925060408601356001600160401b03811115614417575f5ffd5b61442388828901613fe2565b969995985093965092949392505050565b6001600160a01b0381168114612928575f5ffd5b5f60208284031215614458575f5ffd5b8135610e7d81614434565b5f5f5f60408486031215614475575f5ffd5b83356001600160401b0381111561448a575f5ffd5b840160e0818703121561449b575f5ffd5b925060208401356001600160401b038111156144b5575f5ffd5b6144c186828701613fe2565b9497909650939450505050565b60c08101610d548284613e52565b60a08101610d548284613ea5565b5f60c082840312156144fa575f5ffd5b50919050565b5f60c08284031215614510575f5ffd5b610e7d83836144ea565b5f5f5f5f6060858703121561452d575f5ffd5b84356001600160401b03811115614542575f5ffd5b61454e87828801613fe2565b9095509350506020850135614562816142e2565b9396929550929360400135925050565b5f5f60408385031215614583575f5ffd5b8235915060208301356140a681614434565b5f5f5f61010084860312156145a8575f5ffd5b83356145b381614434565b925060208401356145c381614434565b91506145d285604086016144ea565b90509250925092565b62ffffff81168114612928575f5ffd5b5f5f604083850312156145fc575f5ffd5b823561460781613d93565b915060208301356140a6816145db565b5f5f5f5f5f5f60a0878903121561462c575f5ffd5b86356001600160401b03811115614641575f5ffd5b61464d89828a01613fe2565b9097509550506020870135614661816142e2565b9350604087013560048110614674575f5ffd5b9250606087013561468481614434565b95989497509295919493608090920135925050565b5f5f5f60e084860312156146ab575f5ffd5b83356001600160401b038111156146c0575f5ffd5b6146cc86828701613fe2565b90945092506145d2905085602086016144ea565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff83168061471a5761471a6146e0565b8060ff84160491505092915050565b60ff8181168382160190811115610d5457610d546146f4565b5f60ff831680614754576147546146e0565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f6147828285613d3a565b6101d160f51b81526113476002820185613d3a565b600181811c908216806147ab57607f821691505b6020821081036144fa57634e487b7160e01b5f52602260045260245ffd5b805161179281614064565b8051600681900b8114611792575f5ffd5b5f60a08284031280156147f6575f5ffd5b5060405160a081016001600160401b03811182821017156148195761481961412b565b6040528251614827816142e2565b8152602083015161483781614064565b6020820152614848604084016147d4565b6040820152606083015161485b81614064565b60608201526080928301519281019290925250919050565b5f82601f830112614882575f5ffd5b815161488d816141af565b60405161489a8282614183565b8281528560208487010111156148ae575f5ffd5b8260208601602083015e5f92810160200192909252509392505050565b5f5f604083850312156148dc575f5ffd5b82516148e781614434565b60208401519092506001600160401b03811115614902575f5ffd5b61490e85828601614873565b9150509250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff60e01b84168152604060208201525f611347604083018486614918565b5f60208284031215614972575f5ffd5b8151610e7d81613d93565b5f5f8335601e19843603018112614992575f5ffd5b83016020810192503590506001600160401b038111156149b0575f5ffd5b80360382131561401f575f5ffd5b608081525f6149d160808301888a614918565b865f0b60208401526149e66040840187613e05565b8281036060840152838152602080820190600586901b830101865f5b87811015614a4057848303601f19018452614a1d828a61497d565b614a28858284614918565b60209687019690955093909301925050600101614a02565b50909b9a5050505050505050505050565b5f60033d11156112215760045f5f3e505f5160e01c90565b5f60443d1015614a765790565b6040513d600319016004823e80513d60248201116001600160401b0382111715614a9f57505090565b80820180516001600160401b03811115614aba575050505090565b3d8401600319018282016020011115614ad4575050505090565b614ae360208285010185614183565b509392505050565b63ffffffff60e01b8816815260a060208201525f614b0d60a08301888a614918565b865f0b6040840152614b226060840187613e05565b8281036080840152838152602080820190600586901b830101865f5b87811015614b7c57848303601f19018452614b59828a61497d565b614b64858284614918565b60209687019690955093909301925050600101614b3e565b50909c9b505050505050505050505050565b5f60208284031215614b9e575f5ffd5b8151610e7d81614434565b608081525f614bbc60808301888a614918565b8281036020840152614bcf818789614918565b5f9590950b604084015250506001600160a01b0391909116606090910152949350505050565b5f5f60408385031215614c06575f5ffd5b8251614c1181613d93565b6020939093015192949293505050565b63ffffffff60e01b8816815260c060208201525f614c4360c08301888a614918565b9050855f0b6040830152614c5a6060830186613e19565b6001600160a01b0393909316608082015260a0015295945050505050565b60208082526018908201527f436c6f6e61626c65323a206e6f74206f6e20636c6f6e65730000000000000000604082015260600190565b61ffff81168114612928575f5ffd5b803561179281614caf565b5f60208284031215614cd9575f5ffd5b8135610e7d81614caf565b6040808252843582820152602085013560608301525f90850135614d0781614caf565b61ffff1660808301526060850135614d1e81614caf565b61ffff1660a08301526080850135614d3581614064565b6001600160401b031660c0830152614d4f60a08601614078565b6001600160401b031660e0830152614d6a60c086018661497d565b60e0610100850152614d8161012085018284614918565b9150508281036020840152611506818587614918565b805160148110611792575f5ffd5b805160ff81168114611792575f5ffd5b5f60c08284031215614dc5575f5ffd5b604051614dd18161413f565b80915082516001600160401b03811115614de9575f5ffd5b830160408186031215614dfa575f5ffd5b604051614e0681614164565b81516001600160401b03811115614e1b575f5ffd5b614e2787828501614873565b825250602091820151828201528252614e41908401614da5565b6020820152614e5260408401614da5565b6040820152614e6360608401614da5565b6060820152614e74608084016147c9565b6080820152614e8560a084016147c9565b60a08201525092915050565b5f60208284031215614ea1575f5ffd5b81516001600160401b03811115614eb6575f5ffd5b820160c08185031215614ec7575f5ffd5b604051614ed38161413f565b81516101008110614ee2575f5ffd5b8152614ef060208301614d97565b60208201526040828101519082015260608083015190820152614f15608083016147c9565b608082015260a08201516001600160401b03811115614f32575f5ffd5b614f3e86828501614db5565b60a083015250949350505050565b6001600160401b038181168382160190811115610d5457610d546146f4565b6001600160401b038281168282160390811115610d5457610d546146f4565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610d5457610d546146f4565b5f8160060b667fffffffffffff198103614fd557614fd56146f4565b5f0392915050565b5f8260060b8260060b028060060b9150808214612feb57612feb6146f4565b5f6001600160401b03831680615014576150146146e0565b806001600160401b0384160491505092915050565b5f60c082840312801561503a575f5ffd5b506040516150478161413f565b8235615052816145db565b815260208301356150628161425c565b60208201526040830135615075816145db565b60408201526060830135615088816145db565b6060820152608083013561509b81614caf565b60808201526150ac60a08401614cbe565b60a08201529392505050565b5f8135610d54816145db565b5f8135610d5481614caf565b81356150db816145db565b62ffffff8116905081548162ffffff19821617835560208401356150fe8161425c565b63ffffffff199190911690911790151560181b63ff000000161781555f6040830135615129816145db565b825466ffffff00000000191660209190911b66ffffff000000001617825550615179615157606084016150b8565b825462ffffff60381b191660389190911b69ffffff0000000000000016178255565b6151a8615188608084016150c4565b82805461ffff60501b191660509290921b61ffff60501b16919091179055565b61310c6151b760a084016150c4565b82805461ffff60601b191660609290921b61ffff60601b16919091179055565b608081525f6151ea608083018789614918565b6020830195909552505f9290920b60408301526001600160a01b031660609091015292915050565b5f60c0828403128015615223575f5ffd5b506040516152308161413f565b825161523b81614064565b8152602083015161524b81614064565b602082015261525c604084016147d4565b6040820152606083015161526f816142e2565b6060820152608083015161528281614064565b608082015260a0928301519281019290925250919050565b5f6121cf613d8d8386613d3a565b60a081525f6152ba60a0830188613dc3565b9050855f0b60208301526152d16040830186613e19565b6001600160a01b03939093166060820152608001529392505050565b63ffffffff60e01b8716815260c060208201525f61530e60c0830188613dc3565b9050855f0b60408301526153256060830186613e19565b6001600160a01b0393909316608082015260a00152949350505050565b63ffffffff60e01b8416815261010060208201525f615365610100830185613dc3565b90506121cf6040830184613e52565b5f60018201615385576153856146f4565b5060010190565b80820180821115610d5457610d546146f456fe610100604052348015610010575f5ffd5b50604051610b77380380610b7783398101604081905261002f916100c1565b6001600160e01b0319811660808190526040516371b50ecf60e11b815260048101919091526001600160a01b0383169063e36a1d9e90602401602060405180830381865afa158015610083573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610110565b60a052506001600160a01b031660c081905260e052610127565b5f5f604083850312156100d2575f5ffd5b82516001600160a01b03811681146100e8575f5ffd5b60208401519092506001600160e01b031981168114610105575f5ffd5b809150509250929050565b5f60208284031215610120575f5ffd5b5051919050565b60805160a05160c05160e0516109d16101a65f395f818160ee01528181610322015281816103f4015281816104cb01528181610569015261065701525f61024e01525f61013201525f818161021a015281816102970152818161035101528181610423015281816104f801528181610598015261068601526109d15ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c80638205bf6a11610088578063b5ab58dc11610063578063b5ab58dc14610202578063e9159d6414610215578063f98d06f014610249578063feaf968c14610270575f5ffd5b80638205bf6a146101a857806395d89b41146101b05780639a6fc8f5146101b8575f5ffd5b806350d25bcd116100c357806350d25bcd1461017c57806354fd4d5014610184578063668a0f021461018b5780637284e41614610193575f5ffd5b80631014d375146100e9578063311893341461012d578063313ce56714610162575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101547f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610124565b61016a610278565b60405160ff9091168152602001610124565b61015461031e565b6003610154565b6101546103d8565b61019b6103e6565b604051610124919061072e565b6101546103f0565b61019b6104b1565b6101cb6101c6366004610763565b610561565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610124565b610154610210366004610793565b610640565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161012491906107aa565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6101cb61064f565b60405163274d45db60e01b81525f908190339063274d45db906102bf907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b602060405180830381865afa1580156102da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe91906107d4565b90505f815f0b1261030f5780610318565b610318816107ed565b91505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161038c91906107aa565b60a060405180830381865afa1580156103a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610872565b6020015160070b92915050565b5f6103e16103f0565b905090565b60606103e16104b1565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161045e91906107aa565b60a060405180830381865afa158015610479573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190610872565b6060015167ffffffffffffffff1692915050565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890610520907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b5f60405180830381865afa15801561053a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e19190810190610907565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105d391906107aa565b60a060405180830381865afa1580156105ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106129190610872565b6060810151602090910151979860079890980b9767ffffffffffffffff909116965086955088945092505050565b5f61064961031e565b92915050565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106c191906107aa565b60a060405180830381865afa1580156106dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107009190610872565b606081015160209091015167ffffffffffffffff9091169760079190910b9650879550859450849350915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610773575f5ffd5b813569ffffffffffffffffffff8116811461078c575f5ffd5b9392505050565b5f602082840312156107a3575f5ffd5b5035919050565b6001600160e01b031991909116815260200190565b80515f81900b81146107cf575f5ffd5b919050565b5f602082840312156107e4575f5ffd5b61078c826107bf565b5f81810b6080810161080d57634e487b7160e01b5f52601160045260245ffd5b5f0392915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085257610852610815565b604052919050565b67ffffffffffffffff8116811461086f575f5ffd5b50565b5f60a0828403128015610883575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156108a7576108a7610815565b6040526108b3836107bf565b815260208301516108c38161085a565b60208201526040830151600681900b81146108dc575f5ffd5b604082015260608301516108ef8161085a565b60608201526080928301519281019290925250919050565b5f60208284031215610917575f5ffd5b815167ffffffffffffffff81111561092d575f5ffd5b8201601f8101841361093d575f5ffd5b805167ffffffffffffffff81111561095757610957610815565b61096a601f8201601f1916602001610829565b81815285602083850101111561097e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220359d7b00b161eb1185c80ab7bdded7f6a4835167c476da5fec74777b82b96fde64736f6c634300081e0033c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53904c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900a26469706673582212206658637937abb4e03bf414c465e38325f47d1ae58fa35ee5a0a5ef7ba8b654d364736f6c634300081e0033",
  "immutableReferences": {
    "2606": [
      {
        "length": 32,
        "start": 4951
      }
    ],
    "2759": [
      {
        "length": 32,
        "start": 1321
      }
    ],
    "3122": [
      {
        "length": 32,
        "start": 929
      },
      {
        "length": 32,
        "start": 5434
      },
      {
        "length": 32,
        "start": 6246
      },
      {
        "length": 32,
        "start": 7761
      },
      {
        "length": 32,
        "start": 8797
      }
    ],
    "42967": [
      {
        "length": 32,
        "start": 7480
      },
      {
        "length": 32,
        "start": 9602
      },
      {
        "length": 32,
        "start": 12695
      }
    ],
    "43493": [
      {
        "length": 32,
        "start": 1280
      },
      {
        "length": 32,
        "start": 1672
      },
      {
        "length": 32,
        "start": 4216
      },
      {
        "length": 32,
        "start": 4329
      },
      {
        "length": 32,
        "start": 4400
      },
      {
        "length": 32,
        "start": 4434
      }
    ],
    "43497": [
      {
        "length": 32,
        "start": 1357
      },
      {
        "length": 32,
        "start": 5956
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1733:132",
        "nodeType": "YulBlock",
        "src": "0:1733:132",
        "statements": [
          {
            "nativeSrc": "6:3:132",
            "nodeType": "YulBlock",
            "src": "6:3:132",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "126:401:132",
              "nodeType": "YulBlock",
              "src": "126:401:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "172:16:132",
                    "nodeType": "YulBlock",
                    "src": "172:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "181:1:132",
                              "nodeType": "YulLiteral",
                              "src": "181:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "184:1:132",
                              "nodeType": "YulLiteral",
                              "src": "184:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "174:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "174:6:132"
                          },
                          "nativeSrc": "174:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "174:12:132"
                        },
                        "nativeSrc": "174:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "174:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "147:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "147:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "156:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "156:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "143:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "143:3:132"
                        },
                        "nativeSrc": "143:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "143:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "168:2:132",
                        "nodeType": "YulLiteral",
                        "src": "168:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "139:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "139:3:132"
                    },
                    "nativeSrc": "139:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "139:32:132"
                  },
                  "nativeSrc": "136:52:132",
                  "nodeType": "YulIf",
                  "src": "136:52:132"
                },
                {
                  "nativeSrc": "197:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "197:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "216:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "216:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "210:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "210:5:132"
                    },
                    "nativeSrc": "210:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "210:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "201:5:132",
                      "nodeType": "YulTypedName",
                      "src": "201:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "289:16:132",
                    "nodeType": "YulBlock",
                    "src": "289:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "298:1:132",
                              "nodeType": "YulLiteral",
                              "src": "298:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "301:1:132",
                              "nodeType": "YulLiteral",
                              "src": "301:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "291:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "291:6:132"
                          },
                          "nativeSrc": "291:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "291:12:132"
                        },
                        "nativeSrc": "291:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "291:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "248:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "248:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "259:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "259:5:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "274:3:132",
                                        "nodeType": "YulLiteral",
                                        "src": "274:3:132",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "279:1:132",
                                        "nodeType": "YulLiteral",
                                        "src": "279:1:132",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "270:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "270:3:132"
                                    },
                                    "nativeSrc": "270:11:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "270:11:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "283:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "283:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "266:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "266:3:132"
                                },
                                "nativeSrc": "266:19:132",
                                "nodeType": "YulFunctionCall",
                                "src": "266:19:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "255:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "255:3:132"
                            },
                            "nativeSrc": "255:31:132",
                            "nodeType": "YulFunctionCall",
                            "src": "255:31:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "245:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "245:2:132"
                        },
                        "nativeSrc": "245:42:132",
                        "nodeType": "YulFunctionCall",
                        "src": "245:42:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "238:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "238:6:132"
                    },
                    "nativeSrc": "238:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "238:50:132"
                  },
                  "nativeSrc": "235:70:132",
                  "nodeType": "YulIf",
                  "src": "235:70:132"
                },
                {
                  "nativeSrc": "314:15:132",
                  "nodeType": "YulAssignment",
                  "src": "314:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "324:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "324:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "314:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "314:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "338:35:132",
                  "nodeType": "YulAssignment",
                  "src": "338:35:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "358:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "358:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "369:2:132",
                            "nodeType": "YulLiteral",
                            "src": "369:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "354:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "354:3:132"
                        },
                        "nativeSrc": "354:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "354:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "348:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "348:5:132"
                    },
                    "nativeSrc": "348:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "348:25:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "338:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "338:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "382:40:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "382:40:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "407:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "407:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "418:2:132",
                            "nodeType": "YulLiteral",
                            "src": "418:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "403:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "403:3:132"
                        },
                        "nativeSrc": "403:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "403:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "397:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "397:5:132"
                    },
                    "nativeSrc": "397:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "397:25:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "386:7:132",
                      "nodeType": "YulTypedName",
                      "src": "386:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "479:16:132",
                    "nodeType": "YulBlock",
                    "src": "479:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "488:1:132",
                              "nodeType": "YulLiteral",
                              "src": "488:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "491:1:132",
                              "nodeType": "YulLiteral",
                              "src": "491:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "481:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "481:6:132"
                          },
                          "nativeSrc": "481:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "481:12:132"
                        },
                        "nativeSrc": "481:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "481:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "444:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "444:7:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_1",
                                    "nativeSrc": "467:7:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "467:7:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "460:6:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "460:6:132"
                                },
                                "nativeSrc": "460:15:132",
                                "nodeType": "YulFunctionCall",
                                "src": "460:15:132"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "453:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "453:6:132"
                            },
                            "nativeSrc": "453:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "453:23:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "441:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "441:2:132"
                        },
                        "nativeSrc": "441:36:132",
                        "nodeType": "YulFunctionCall",
                        "src": "441:36:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "434:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "434:6:132"
                    },
                    "nativeSrc": "434:44:132",
                    "nodeType": "YulFunctionCall",
                    "src": "434:44:132"
                  },
                  "nativeSrc": "431:64:132",
                  "nodeType": "YulIf",
                  "src": "431:64:132"
                },
                {
                  "nativeSrc": "504:17:132",
                  "nodeType": "YulAssignment",
                  "src": "504:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "514:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "514:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "504:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "504:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_bytes32t_bool_fromMemory",
            "nativeSrc": "14:513:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "76:9:132",
                "nodeType": "YulTypedName",
                "src": "76:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "87:7:132",
                "nodeType": "YulTypedName",
                "src": "87:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "99:6:132",
                "nodeType": "YulTypedName",
                "src": "99:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "107:6:132",
                "nodeType": "YulTypedName",
                "src": "107:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "115:6:132",
                "nodeType": "YulTypedName",
                "src": "115:6:132",
                "type": ""
              }
            ],
            "src": "14:513:132"
          },
          {
            "body": {
              "nativeSrc": "633:102:132",
              "nodeType": "YulBlock",
              "src": "633:102:132",
              "statements": [
                {
                  "nativeSrc": "643:26:132",
                  "nodeType": "YulAssignment",
                  "src": "643:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "655:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "655:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "666:2:132",
                        "nodeType": "YulLiteral",
                        "src": "666:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "651:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "651:3:132"
                    },
                    "nativeSrc": "651:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "651:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "643:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "643:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "685:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "685:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "700:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "700:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "716:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "716:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "721:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "721:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "712:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "712:3:132"
                                },
                                "nativeSrc": "712:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "712:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "725:1:132",
                                "nodeType": "YulLiteral",
                                "src": "725:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "708:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "708:3:132"
                            },
                            "nativeSrc": "708:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "708:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "696:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "696:3:132"
                        },
                        "nativeSrc": "696:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "696:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "678:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "678:6:132"
                    },
                    "nativeSrc": "678:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "678:51:132"
                  },
                  "nativeSrc": "678:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "678:51:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "532:203:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "602:9:132",
                "nodeType": "YulTypedName",
                "src": "602:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "613:6:132",
                "nodeType": "YulTypedName",
                "src": "613:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "624:4:132",
                "nodeType": "YulTypedName",
                "src": "624:4:132",
                "type": ""
              }
            ],
            "src": "532:203:132"
          },
          {
            "body": {
              "nativeSrc": "914:171:132",
              "nodeType": "YulBlock",
              "src": "914:171:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "931:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "931:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "942:2:132",
                        "nodeType": "YulLiteral",
                        "src": "942:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "924:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "924:6:132"
                    },
                    "nativeSrc": "924:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "924:21:132"
                  },
                  "nativeSrc": "924:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "924:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "965:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "965:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "976:2:132",
                            "nodeType": "YulLiteral",
                            "src": "976:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "961:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "961:3:132"
                        },
                        "nativeSrc": "961:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "961:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "981:2:132",
                        "nodeType": "YulLiteral",
                        "src": "981:2:132",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "954:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "954:6:132"
                    },
                    "nativeSrc": "954:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "954:30:132"
                  },
                  "nativeSrc": "954:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "954:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1004:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "1004:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1015:2:132",
                            "nodeType": "YulLiteral",
                            "src": "1015:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1000:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1000:3:132"
                        },
                        "nativeSrc": "1000:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1000:18:132"
                      },
                      {
                        "hexValue": "696e6578697374656e74207769742f6f7261636c65",
                        "kind": "string",
                        "nativeSrc": "1020:23:132",
                        "nodeType": "YulLiteral",
                        "src": "1020:23:132",
                        "type": "",
                        "value": "inexistent wit/oracle"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "993:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "993:6:132"
                    },
                    "nativeSrc": "993:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "993:51:132"
                  },
                  "nativeSrc": "993:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "993:51:132"
                },
                {
                  "nativeSrc": "1053:26:132",
                  "nodeType": "YulAssignment",
                  "src": "1053:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1065:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "1065:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1076:2:132",
                        "nodeType": "YulLiteral",
                        "src": "1076:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1061:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "1061:3:132"
                    },
                    "nativeSrc": "1061:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1061:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1053:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "1053:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_607e341bafd0779b8dd4ce1c0914683083ea6c77d6fb352adad667fac5e04d98__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "740:345:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "891:9:132",
                "nodeType": "YulTypedName",
                "src": "891:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "905:4:132",
                "nodeType": "YulTypedName",
                "src": "905:4:132",
                "type": ""
              }
            ],
            "src": "740:345:132"
          },
          {
            "body": {
              "nativeSrc": "1170:210:132",
              "nodeType": "YulBlock",
              "src": "1170:210:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1216:16:132",
                    "nodeType": "YulBlock",
                    "src": "1216:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1225:1:132",
                              "nodeType": "YulLiteral",
                              "src": "1225:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1228:1:132",
                              "nodeType": "YulLiteral",
                              "src": "1228:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1218:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "1218:6:132"
                          },
                          "nativeSrc": "1218:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "1218:12:132"
                        },
                        "nativeSrc": "1218:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "1218:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1191:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "1191:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1200:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "1200:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1187:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1187:3:132"
                        },
                        "nativeSrc": "1187:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1187:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1212:2:132",
                        "nodeType": "YulLiteral",
                        "src": "1212:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1183:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "1183:3:132"
                    },
                    "nativeSrc": "1183:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1183:32:132"
                  },
                  "nativeSrc": "1180:52:132",
                  "nodeType": "YulIf",
                  "src": "1180:52:132"
                },
                {
                  "nativeSrc": "1241:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1241:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1260:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "1260:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1254:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "1254:5:132"
                    },
                    "nativeSrc": "1254:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1254:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1245:5:132",
                      "nodeType": "YulTypedName",
                      "src": "1245:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1334:16:132",
                    "nodeType": "YulBlock",
                    "src": "1334:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1343:1:132",
                              "nodeType": "YulLiteral",
                              "src": "1343:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1346:1:132",
                              "nodeType": "YulLiteral",
                              "src": "1346:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1336:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "1336:6:132"
                          },
                          "nativeSrc": "1336:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "1336:12:132"
                        },
                        "nativeSrc": "1336:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "1336:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1292:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "1292:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1303:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "1303:5:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1314:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "1314:3:132",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1319:10:132",
                                    "nodeType": "YulLiteral",
                                    "src": "1319:10:132",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1310:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "1310:3:132"
                                },
                                "nativeSrc": "1310:20:132",
                                "nodeType": "YulFunctionCall",
                                "src": "1310:20:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1299:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "1299:3:132"
                            },
                            "nativeSrc": "1299:32:132",
                            "nodeType": "YulFunctionCall",
                            "src": "1299:32:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1289:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "1289:2:132"
                        },
                        "nativeSrc": "1289:43:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1289:43:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1282:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1282:6:132"
                    },
                    "nativeSrc": "1282:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1282:51:132"
                  },
                  "nativeSrc": "1279:71:132",
                  "nodeType": "YulIf",
                  "src": "1279:71:132"
                },
                {
                  "nativeSrc": "1359:15:132",
                  "nodeType": "YulAssignment",
                  "src": "1359:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1369:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "1369:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1359:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1359:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "1090:290:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1136:9:132",
                "nodeType": "YulTypedName",
                "src": "1136:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1147:7:132",
                "nodeType": "YulTypedName",
                "src": "1147:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1159:6:132",
                "nodeType": "YulTypedName",
                "src": "1159:6:132",
                "type": ""
              }
            ],
            "src": "1090:290:132"
          },
          {
            "body": {
              "nativeSrc": "1559:172:132",
              "nodeType": "YulBlock",
              "src": "1559:172:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1576:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "1576:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1587:2:132",
                        "nodeType": "YulLiteral",
                        "src": "1587:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1569:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1569:6:132"
                    },
                    "nativeSrc": "1569:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1569:21:132"
                  },
                  "nativeSrc": "1569:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1569:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1610:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "1610:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1621:2:132",
                            "nodeType": "YulLiteral",
                            "src": "1621:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1606:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1606:3:132"
                        },
                        "nativeSrc": "1606:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1606:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1626:2:132",
                        "nodeType": "YulLiteral",
                        "src": "1626:2:132",
                        "type": "",
                        "value": "22"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1599:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1599:6:132"
                    },
                    "nativeSrc": "1599:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1599:30:132"
                  },
                  "nativeSrc": "1599:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1599:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1649:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "1649:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1660:2:132",
                            "nodeType": "YulLiteral",
                            "src": "1660:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1645:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1645:3:132"
                        },
                        "nativeSrc": "1645:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1645:18:132"
                      },
                      {
                        "hexValue": "756e636f6d706c69616e74207769742f6f7261636c65",
                        "kind": "string",
                        "nativeSrc": "1665:24:132",
                        "nodeType": "YulLiteral",
                        "src": "1665:24:132",
                        "type": "",
                        "value": "uncompliant wit/oracle"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1638:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1638:6:132"
                    },
                    "nativeSrc": "1638:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1638:52:132"
                  },
                  "nativeSrc": "1638:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1638:52:132"
                },
                {
                  "nativeSrc": "1699:26:132",
                  "nodeType": "YulAssignment",
                  "src": "1699:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1711:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "1711:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1722:2:132",
                        "nodeType": "YulLiteral",
                        "src": "1722:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1707:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "1707:3:132"
                    },
                    "nativeSrc": "1707:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1707:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1699:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "1699:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_cbcd48d575dfbbe3e40a18ff4aaf929b6cf25b8fe75b3b262dfeb3239030fde3__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "1385:346:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1536:9:132",
                "nodeType": "YulTypedName",
                "src": "1536:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1550:4:132",
                "nodeType": "YulTypedName",
                "src": "1550:4:132",
                "type": ""
              }
            ],
            "src": "1385:346:132"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_tuple_t_addresst_bytes32t_bool_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n        value0 := value\n        value1 := mload(add(headStart, 32))\n        let value_1 := mload(add(headStart, 64))\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        value2 := value_1\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_stringliteral_607e341bafd0779b8dd4ce1c0914683083ea6c77d6fb352adad667fac5e04d98__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 21)\n        mstore(add(headStart, 64), \"inexistent wit/oracle\")\n        tail := add(headStart, 96)\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_encode_tuple_t_stringliteral_cbcd48d575dfbbe3e40a18ff4aaf929b6cf25b8fe75b3b262dfeb3239030fde3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 22)\n        mstore(add(headStart, 64), \"uncompliant wit/oracle\")\n        tail := add(headStart, 96)\n    }\n}",
      "id": 132,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:54083:132",
        "nodeType": "YulBlock",
        "src": "0:54083:132",
        "statements": [
          {
            "nativeSrc": "6:3:132",
            "nodeType": "YulBlock",
            "src": "6:3:132",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "64:162:132",
              "nodeType": "YulBlock",
              "src": "64:162:132",
              "statements": [
                {
                  "nativeSrc": "74:26:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "74:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "94:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "94:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "88:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "88:5:132"
                    },
                    "nativeSrc": "88:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "88:12:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "78:6:132",
                      "nodeType": "YulTypedName",
                      "src": "78:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "115:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "115:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "124:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "124:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "131:4:132",
                            "nodeType": "YulLiteral",
                            "src": "131:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "120:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "120:3:132"
                        },
                        "nativeSrc": "120:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "120:16:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "138:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "138:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "109:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "109:5:132"
                    },
                    "nativeSrc": "109:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "109:36:132"
                  },
                  "nativeSrc": "109:36:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "109:36:132"
                },
                {
                  "nativeSrc": "154:26:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "154:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "168:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "168:3:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "173:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "173:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "164:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "164:3:132"
                    },
                    "nativeSrc": "164:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "164:16:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "158:2:132",
                      "nodeType": "YulTypedName",
                      "src": "158:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "196:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "196:2:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "200:1:132",
                        "nodeType": "YulLiteral",
                        "src": "200:1:132",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "189:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "189:6:132"
                    },
                    "nativeSrc": "189:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "189:13:132"
                  },
                  "nativeSrc": "189:13:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "189:13:132"
                },
                {
                  "nativeSrc": "211:9:132",
                  "nodeType": "YulAssignment",
                  "src": "211:9:132",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "218:2:132",
                    "nodeType": "YulIdentifier",
                    "src": "218:2:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "211:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "211:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "14:212:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "41:5:132",
                "nodeType": "YulTypedName",
                "src": "41:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "48:3:132",
                "nodeType": "YulTypedName",
                "src": "48:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "56:3:132",
                "nodeType": "YulTypedName",
                "src": "56:3:132",
                "type": ""
              }
            ],
            "src": "14:212:132"
          },
          {
            "body": {
              "nativeSrc": "615:186:132",
              "nodeType": "YulBlock",
              "src": "615:186:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "632:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "632:3:132"
                      },
                      {
                        "hexValue": "6e6f7420696d706c656d656e7465643a203078",
                        "kind": "string",
                        "nativeSrc": "637:21:132",
                        "nodeType": "YulLiteral",
                        "src": "637:21:132",
                        "type": "",
                        "value": "not implemented: 0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "625:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "625:6:132"
                    },
                    "nativeSrc": "625:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "625:34:132"
                  },
                  "nativeSrc": "625:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "625:34:132"
                },
                {
                  "nativeSrc": "668:127:132",
                  "nodeType": "YulAssignment",
                  "src": "668:127:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "693:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "693:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "719:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "719:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value1",
                                "nativeSrc": "745:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "745:6:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "771:6:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "771:6:132"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "pos",
                                        "nativeSrc": "783:3:132",
                                        "nodeType": "YulIdentifier",
                                        "src": "783:3:132"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "788:2:132",
                                        "nodeType": "YulLiteral",
                                        "src": "788:2:132",
                                        "type": "",
                                        "value": "19"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "779:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "779:3:132"
                                    },
                                    "nativeSrc": "779:12:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "779:12:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "abi_encode_string",
                                  "nativeSrc": "753:17:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "753:17:132"
                                },
                                "nativeSrc": "753:39:132",
                                "nodeType": "YulFunctionCall",
                                "src": "753:39:132"
                              }
                            ],
                            "functionName": {
                              "name": "abi_encode_string",
                              "nativeSrc": "727:17:132",
                              "nodeType": "YulIdentifier",
                              "src": "727:17:132"
                            },
                            "nativeSrc": "727:66:132",
                            "nodeType": "YulFunctionCall",
                            "src": "727:66:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_encode_string",
                          "nativeSrc": "701:17:132",
                          "nodeType": "YulIdentifier",
                          "src": "701:17:132"
                        },
                        "nativeSrc": "701:93:132",
                        "nodeType": "YulFunctionCall",
                        "src": "701:93:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "675:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "675:17:132"
                    },
                    "nativeSrc": "675:120:132",
                    "nodeType": "YulFunctionCall",
                    "src": "675:120:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "668:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "668:3:132"
                    }
                  ]
                }
              ]
            },
            "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": "231:570:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "567:3:132",
                "nodeType": "YulTypedName",
                "src": "567:3:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "572:6:132",
                "nodeType": "YulTypedName",
                "src": "572:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "580:6:132",
                "nodeType": "YulTypedName",
                "src": "580:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "588:6:132",
                "nodeType": "YulTypedName",
                "src": "588:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "596:6:132",
                "nodeType": "YulTypedName",
                "src": "596:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "607:3:132",
                "nodeType": "YulTypedName",
                "src": "607:3:132",
                "type": ""
              }
            ],
            "src": "231:570:132"
          },
          {
            "body": {
              "nativeSrc": "868:87:132",
              "nodeType": "YulBlock",
              "src": "868:87:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "933:16:132",
                    "nodeType": "YulBlock",
                    "src": "933:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "942:1:132",
                              "nodeType": "YulLiteral",
                              "src": "942:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "945:1:132",
                              "nodeType": "YulLiteral",
                              "src": "945:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "935:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "935:6:132"
                          },
                          "nativeSrc": "935:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "935:12:132"
                        },
                        "nativeSrc": "935:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "935:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "891:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "891:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "902:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "902:5:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "913:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "913:3:132",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "918:10:132",
                                    "nodeType": "YulLiteral",
                                    "src": "918:10:132",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "909:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "909:3:132"
                                },
                                "nativeSrc": "909:20:132",
                                "nodeType": "YulFunctionCall",
                                "src": "909:20:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "898:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "898:3:132"
                            },
                            "nativeSrc": "898:32:132",
                            "nodeType": "YulFunctionCall",
                            "src": "898:32:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "888:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "888:2:132"
                        },
                        "nativeSrc": "888:43:132",
                        "nodeType": "YulFunctionCall",
                        "src": "888:43:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "881:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "881:6:132"
                    },
                    "nativeSrc": "881:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "881:51:132"
                  },
                  "nativeSrc": "878:71:132",
                  "nodeType": "YulIf",
                  "src": "878:71:132"
                }
              ]
            },
            "name": "validator_revert_userDefinedValueType_ID4",
            "nativeSrc": "806:149:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "857:5:132",
                "nodeType": "YulTypedName",
                "src": "857:5:132",
                "type": ""
              }
            ],
            "src": "806:149:132"
          },
          {
            "body": {
              "nativeSrc": "1055:194:132",
              "nodeType": "YulBlock",
              "src": "1055:194:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1101:16:132",
                    "nodeType": "YulBlock",
                    "src": "1101:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1110:1:132",
                              "nodeType": "YulLiteral",
                              "src": "1110:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1113:1:132",
                              "nodeType": "YulLiteral",
                              "src": "1113:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1103:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "1103:6:132"
                          },
                          "nativeSrc": "1103:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "1103:12:132"
                        },
                        "nativeSrc": "1103:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "1103:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1076:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "1076:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1085:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "1085:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1072:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1072:3:132"
                        },
                        "nativeSrc": "1072:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1072:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1097:2:132",
                        "nodeType": "YulLiteral",
                        "src": "1097:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1068:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "1068:3:132"
                    },
                    "nativeSrc": "1068:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1068:32:132"
                  },
                  "nativeSrc": "1065:52:132",
                  "nodeType": "YulIf",
                  "src": "1065:52:132"
                },
                {
                  "nativeSrc": "1126:36:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1126:36:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1152:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "1152:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1139:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "1139:12:132"
                    },
                    "nativeSrc": "1139:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1139:23:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1130:5:132",
                      "nodeType": "YulTypedName",
                      "src": "1130:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1213:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "1213:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "1171:41:132",
                      "nodeType": "YulIdentifier",
                      "src": "1171:41:132"
                    },
                    "nativeSrc": "1171:48:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1171:48:132"
                  },
                  "nativeSrc": "1171:48:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1171:48:132"
                },
                {
                  "nativeSrc": "1228:15:132",
                  "nodeType": "YulAssignment",
                  "src": "1228:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1238:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "1238:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1228:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1228:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID4_$25253",
            "nativeSrc": "960:289:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1021:9:132",
                "nodeType": "YulTypedName",
                "src": "1021:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1032:7:132",
                "nodeType": "YulTypedName",
                "src": "1032:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1044:6:132",
                "nodeType": "YulTypedName",
                "src": "1044:6:132",
                "type": ""
              }
            ],
            "src": "960:289:132"
          },
          {
            "body": {
              "nativeSrc": "1315:239:132",
              "nodeType": "YulBlock",
              "src": "1315:239:132",
              "statements": [
                {
                  "nativeSrc": "1325:26:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1325:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1345:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "1345:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1339:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "1339:5:132"
                    },
                    "nativeSrc": "1339:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1339:12:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1329:6:132",
                      "nodeType": "YulTypedName",
                      "src": "1329:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1367:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "1367:3:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1372:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "1372:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1360:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1360:6:132"
                    },
                    "nativeSrc": "1360:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1360:19:132"
                  },
                  "nativeSrc": "1360:19:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1360:19:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1398:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "1398:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1403:4:132",
                            "nodeType": "YulLiteral",
                            "src": "1403:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1394:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1394:3:132"
                        },
                        "nativeSrc": "1394:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1394:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1414:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "1414:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1421:4:132",
                            "nodeType": "YulLiteral",
                            "src": "1421:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1410:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1410:3:132"
                        },
                        "nativeSrc": "1410:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1410:16:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1428:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "1428:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "1388:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "1388:5:132"
                    },
                    "nativeSrc": "1388:47:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1388:47:132"
                  },
                  "nativeSrc": "1388:47:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1388:47:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "1459:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "1459:3:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "1464:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "1464:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1455:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "1455:3:132"
                            },
                            "nativeSrc": "1455:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "1455:16:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1473:4:132",
                            "nodeType": "YulLiteral",
                            "src": "1473:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1451:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1451:3:132"
                        },
                        "nativeSrc": "1451:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1451:27:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1480:1:132",
                        "nodeType": "YulLiteral",
                        "src": "1480:1:132",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1444:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1444:6:132"
                    },
                    "nativeSrc": "1444:38:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1444:38:132"
                  },
                  "nativeSrc": "1444:38:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1444:38:132"
                },
                {
                  "nativeSrc": "1491:57:132",
                  "nodeType": "YulAssignment",
                  "src": "1491:57:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1506:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "1506:3:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "1519:6:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "1519:6:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1527:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "1527:2:132",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1515:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "1515:3:132"
                                },
                                "nativeSrc": "1515:15:132",
                                "nodeType": "YulFunctionCall",
                                "src": "1515:15:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1536:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "1536:2:132",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "1532:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "1532:3:132"
                                },
                                "nativeSrc": "1532:7:132",
                                "nodeType": "YulFunctionCall",
                                "src": "1532:7:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1511:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "1511:3:132"
                            },
                            "nativeSrc": "1511:29:132",
                            "nodeType": "YulFunctionCall",
                            "src": "1511:29:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1502:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1502:3:132"
                        },
                        "nativeSrc": "1502:39:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1502:39:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1543:4:132",
                        "nodeType": "YulLiteral",
                        "src": "1543:4:132",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1498:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "1498:3:132"
                    },
                    "nativeSrc": "1498:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1498:50:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1491:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "1491:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_memory_ptr",
            "nativeSrc": "1254:300:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1292:5:132",
                "nodeType": "YulTypedName",
                "src": "1292:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1299:3:132",
                "nodeType": "YulTypedName",
                "src": "1299:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "1307:3:132",
                "nodeType": "YulTypedName",
                "src": "1307:3:132",
                "type": ""
              }
            ],
            "src": "1254:300:132"
          },
          {
            "body": {
              "nativeSrc": "1591:95:132",
              "nodeType": "YulBlock",
              "src": "1591:95:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1608:1:132",
                        "nodeType": "YulLiteral",
                        "src": "1608:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "1615:3:132",
                            "nodeType": "YulLiteral",
                            "src": "1615:3:132",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1620:10:132",
                            "nodeType": "YulLiteral",
                            "src": "1620:10:132",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "1611:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "1611:3:132"
                        },
                        "nativeSrc": "1611:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1611:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1601:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1601:6:132"
                    },
                    "nativeSrc": "1601:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1601:31:132"
                  },
                  "nativeSrc": "1601:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1601:31:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1648:1:132",
                        "nodeType": "YulLiteral",
                        "src": "1648:1:132",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1651:4:132",
                        "nodeType": "YulLiteral",
                        "src": "1651:4:132",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1641:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1641:6:132"
                    },
                    "nativeSrc": "1641:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1641:15:132"
                  },
                  "nativeSrc": "1641:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1641:15:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1672:1:132",
                        "nodeType": "YulLiteral",
                        "src": "1672:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1675:4:132",
                        "nodeType": "YulLiteral",
                        "src": "1675:4:132",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "1665:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1665:6:132"
                    },
                    "nativeSrc": "1665:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1665:15:132"
                  },
                  "nativeSrc": "1665:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1665:15:132"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "1559:127:132",
            "nodeType": "YulFunctionDefinition",
            "src": "1559:127:132"
          },
          {
            "body": {
              "nativeSrc": "1740:89:132",
              "nodeType": "YulBlock",
              "src": "1740:89:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1774:22:132",
                    "nodeType": "YulBlock",
                    "src": "1774:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "1776:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "1776:16:132"
                          },
                          "nativeSrc": "1776:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "1776:18:132"
                        },
                        "nativeSrc": "1776:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "1776:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1763:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "1763:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1770:1:132",
                            "nodeType": "YulLiteral",
                            "src": "1770:1:132",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1760:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "1760:2:132"
                        },
                        "nativeSrc": "1760:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1760:12:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1753:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1753:6:132"
                    },
                    "nativeSrc": "1753:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1753:20:132"
                  },
                  "nativeSrc": "1750:46:132",
                  "nodeType": "YulIf",
                  "src": "1750:46:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1812:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "1812:3:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "1817:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "1817:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1805:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1805:6:132"
                    },
                    "nativeSrc": "1805:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1805:18:132"
                  },
                  "nativeSrc": "1805:18:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1805:18:132"
                }
              ]
            },
            "name": "abi_encode_enum_Mappers",
            "nativeSrc": "1691:138:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1724:5:132",
                "nodeType": "YulTypedName",
                "src": "1724:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1731:3:132",
                "nodeType": "YulTypedName",
                "src": "1731:3:132",
                "type": ""
              }
            ],
            "src": "1691:138:132"
          },
          {
            "body": {
              "nativeSrc": "1883:89:132",
              "nodeType": "YulBlock",
              "src": "1883:89:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1917:22:132",
                    "nodeType": "YulBlock",
                    "src": "1917:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "1919:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "1919:16:132"
                          },
                          "nativeSrc": "1919:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "1919:18:132"
                        },
                        "nativeSrc": "1919:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "1919:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1906:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "1906:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1913:1:132",
                            "nodeType": "YulLiteral",
                            "src": "1913:1:132",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1903:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "1903:2:132"
                        },
                        "nativeSrc": "1903:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "1903:12:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1896:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1896:6:132"
                    },
                    "nativeSrc": "1896:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1896:20:132"
                  },
                  "nativeSrc": "1893:46:132",
                  "nodeType": "YulIf",
                  "src": "1893:46:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1955:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "1955:3:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "1960:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "1960:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1948:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "1948:6:132"
                    },
                    "nativeSrc": "1948:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "1948:18:132"
                  },
                  "nativeSrc": "1948:18:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "1948:18:132"
                }
              ]
            },
            "name": "abi_encode_enum_Oracles",
            "nativeSrc": "1834:138:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1867:5:132",
                "nodeType": "YulTypedName",
                "src": "1867:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1874:3:132",
                "nodeType": "YulTypedName",
                "src": "1874:3:132",
                "type": ""
              }
            ],
            "src": "1834:138:132"
          },
          {
            "body": {
              "nativeSrc": "2027:196:132",
              "nodeType": "YulBlock",
              "src": "2027:196:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2067:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "2067:5:132"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "2061:5:132",
                          "nodeType": "YulIdentifier",
                          "src": "2061:5:132"
                        },
                        "nativeSrc": "2061:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2061:12:132"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "2075:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "2075:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "2037:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "2037:23:132"
                    },
                    "nativeSrc": "2037:42:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2037:42:132"
                  },
                  "nativeSrc": "2037:42:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2037:42:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2099:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2099:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2104:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2104:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2095:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2095:3:132"
                        },
                        "nativeSrc": "2095:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2095:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2125:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "2125:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2132:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2132:4:132",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2121:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2121:3:132"
                                },
                                "nativeSrc": "2121:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2121:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2115:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "2115:5:132"
                            },
                            "nativeSrc": "2115:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2115:23:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2148:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2148:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2153:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2153:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "2144:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2144:3:132"
                                },
                                "nativeSrc": "2144:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2144:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2157:1:132",
                                "nodeType": "YulLiteral",
                                "src": "2157:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "2140:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "2140:3:132"
                            },
                            "nativeSrc": "2140:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2140:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2111:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2111:3:132"
                        },
                        "nativeSrc": "2111:49:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2111:49:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2088:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2088:6:132"
                    },
                    "nativeSrc": "2088:73:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2088:73:132"
                  },
                  "nativeSrc": "2088:73:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2088:73:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2181:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2181:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2186:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2186:4:132",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2177:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2177:3:132"
                        },
                        "nativeSrc": "2177:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2177:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2203:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "2203:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2210:4:132",
                                "nodeType": "YulLiteral",
                                "src": "2210:4:132",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2199:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "2199:3:132"
                            },
                            "nativeSrc": "2199:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2199:16:132"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "2193:5:132",
                          "nodeType": "YulIdentifier",
                          "src": "2193:5:132"
                        },
                        "nativeSrc": "2193:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2193:23:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2170:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2170:6:132"
                    },
                    "nativeSrc": "2170:47:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2170:47:132"
                  },
                  "nativeSrc": "2170:47:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2170:47:132"
                }
              ]
            },
            "name": "abi_encode_struct_Oracle",
            "nativeSrc": "1977:246:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2011:5:132",
                "nodeType": "YulTypedName",
                "src": "2011:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2018:3:132",
                "nodeType": "YulTypedName",
                "src": "2018:3:132",
                "type": ""
              }
            ],
            "src": "1977:246:132"
          },
          {
            "body": {
              "nativeSrc": "2271:47:132",
              "nodeType": "YulBlock",
              "src": "2271:47:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2288:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "2288:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2297:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "2297:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2304:6:132",
                            "nodeType": "YulLiteral",
                            "src": "2304:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2293:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2293:3:132"
                        },
                        "nativeSrc": "2293:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2293:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2281:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2281:6:132"
                    },
                    "nativeSrc": "2281:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2281:31:132"
                  },
                  "nativeSrc": "2281:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2281:31:132"
                }
              ]
            },
            "name": "abi_encode_uint16",
            "nativeSrc": "2228:90:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2255:5:132",
                "nodeType": "YulTypedName",
                "src": "2255:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2262:3:132",
                "nodeType": "YulTypedName",
                "src": "2262:3:132",
                "type": ""
              }
            ],
            "src": "2228:90:132"
          },
          {
            "body": {
              "nativeSrc": "2383:408:132",
              "nodeType": "YulBlock",
              "src": "2383:408:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2400:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "2400:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2415:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "2415:5:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2409:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "2409:5:132"
                            },
                            "nativeSrc": "2409:12:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2409:12:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2423:8:132",
                            "nodeType": "YulLiteral",
                            "src": "2423:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2405:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2405:3:132"
                        },
                        "nativeSrc": "2405:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2405:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2393:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2393:6:132"
                    },
                    "nativeSrc": "2393:40:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2393:40:132"
                  },
                  "nativeSrc": "2393:40:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2393:40:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2453:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2453:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2458:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2458:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2449:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2449:3:132"
                        },
                        "nativeSrc": "2449:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2449:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "value",
                                        "nativeSrc": "2489:5:132",
                                        "nodeType": "YulIdentifier",
                                        "src": "2489:5:132"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "2496:4:132",
                                        "nodeType": "YulLiteral",
                                        "src": "2496:4:132",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "2485:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "2485:3:132"
                                    },
                                    "nativeSrc": "2485:16:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2485:16:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "2479:5:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2479:5:132"
                                },
                                "nativeSrc": "2479:23:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2479:23:132"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "2472:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "2472:6:132"
                            },
                            "nativeSrc": "2472:31:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2472:31:132"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "2465:6:132",
                          "nodeType": "YulIdentifier",
                          "src": "2465:6:132"
                        },
                        "nativeSrc": "2465:39:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2465:39:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2442:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2442:6:132"
                    },
                    "nativeSrc": "2442:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2442:63:132"
                  },
                  "nativeSrc": "2442:63:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2442:63:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2525:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2525:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2530:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2530:4:132",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2521:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2521:3:132"
                        },
                        "nativeSrc": "2521:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2521:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2551:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "2551:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2558:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2558:4:132",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2547:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2547:3:132"
                                },
                                "nativeSrc": "2547:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2547:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2541:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "2541:5:132"
                            },
                            "nativeSrc": "2541:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2541:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2566:8:132",
                            "nodeType": "YulLiteral",
                            "src": "2566:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2537:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2537:3:132"
                        },
                        "nativeSrc": "2537:38:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2537:38:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2514:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2514:6:132"
                    },
                    "nativeSrc": "2514:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2514:62:132"
                  },
                  "nativeSrc": "2514:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2514:62:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2596:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2596:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2601:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2601:4:132",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2592:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2592:3:132"
                        },
                        "nativeSrc": "2592:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2592:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2622:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "2622:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2629:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2629:4:132",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2618:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2618:3:132"
                                },
                                "nativeSrc": "2618:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2618:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2612:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "2612:5:132"
                            },
                            "nativeSrc": "2612:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2612:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2637:8:132",
                            "nodeType": "YulLiteral",
                            "src": "2637:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2608:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2608:3:132"
                        },
                        "nativeSrc": "2608:38:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2608:38:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2585:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2585:6:132"
                    },
                    "nativeSrc": "2585:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2585:62:132"
                  },
                  "nativeSrc": "2585:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2585:62:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2667:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2667:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2672:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2672:4:132",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2663:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2663:3:132"
                        },
                        "nativeSrc": "2663:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2663:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2693:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "2693:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2700:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2700:4:132",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2689:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2689:3:132"
                                },
                                "nativeSrc": "2689:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2689:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2683:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "2683:5:132"
                            },
                            "nativeSrc": "2683:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2683:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2708:6:132",
                            "nodeType": "YulLiteral",
                            "src": "2708:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2679:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2679:3:132"
                        },
                        "nativeSrc": "2679:36:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2679:36:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2656:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2656:6:132"
                    },
                    "nativeSrc": "2656:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2656:60:132"
                  },
                  "nativeSrc": "2656:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2656:60:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2736:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "2736:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2741:4:132",
                            "nodeType": "YulLiteral",
                            "src": "2741:4:132",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2732:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2732:3:132"
                        },
                        "nativeSrc": "2732:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2732:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2762:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "2762:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2769:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "2769:4:132",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2758:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "2758:3:132"
                                },
                                "nativeSrc": "2758:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "2758:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2752:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "2752:5:132"
                            },
                            "nativeSrc": "2752:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "2752:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2777:6:132",
                            "nodeType": "YulLiteral",
                            "src": "2777:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2748:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2748:3:132"
                        },
                        "nativeSrc": "2748:36:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2748:36:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2725:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2725:6:132"
                    },
                    "nativeSrc": "2725:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2725:60:132"
                  },
                  "nativeSrc": "2725:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2725:60:132"
                }
              ]
            },
            "name": "abi_encode_struct_UpdateConditions",
            "nativeSrc": "2323:468:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2367:5:132",
                "nodeType": "YulTypedName",
                "src": "2367:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2374:3:132",
                "nodeType": "YulTypedName",
                "src": "2374:3:132",
                "type": ""
              }
            ],
            "src": "2323:468:132"
          },
          {
            "body": {
              "nativeSrc": "2863:59:132",
              "nodeType": "YulBlock",
              "src": "2863:59:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2880:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "2880:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2889:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "2889:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2896:18:132",
                            "nodeType": "YulLiteral",
                            "src": "2896:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2885:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "2885:3:132"
                        },
                        "nativeSrc": "2885:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2885:30:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2873:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2873:6:132"
                    },
                    "nativeSrc": "2873:43:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2873:43:132"
                  },
                  "nativeSrc": "2873:43:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2873:43:132"
                }
              ]
            },
            "name": "abi_encode_userDefinedValueType_Timestamp",
            "nativeSrc": "2796:126:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2847:5:132",
                "nodeType": "YulTypedName",
                "src": "2847:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2854:3:132",
                "nodeType": "YulTypedName",
                "src": "2854:3:132",
                "type": ""
              }
            ],
            "src": "2796:126:132"
          },
          {
            "body": {
              "nativeSrc": "2976:345:132",
              "nodeType": "YulBlock",
              "src": "2976:345:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2993:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "2993:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3009:1:132",
                            "nodeType": "YulLiteral",
                            "src": "3009:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3018:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "3018:5:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3012:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "3012:5:132"
                            },
                            "nativeSrc": "3012:12:132",
                            "nodeType": "YulFunctionCall",
                            "src": "3012:12:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "2998:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "2998:10:132"
                        },
                        "nativeSrc": "2998:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "2998:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2986:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "2986:6:132"
                    },
                    "nativeSrc": "2986:40:132",
                    "nodeType": "YulFunctionCall",
                    "src": "2986:40:132"
                  },
                  "nativeSrc": "2986:40:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "2986:40:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3046:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3046:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3051:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3051:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3042:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3042:3:132"
                        },
                        "nativeSrc": "3042:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3042:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "3072:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "3072:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3079:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "3079:4:132",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3068:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "3068:3:132"
                                },
                                "nativeSrc": "3068:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "3068:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3062:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "3062:5:132"
                            },
                            "nativeSrc": "3062:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "3062:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3087:18:132",
                            "nodeType": "YulLiteral",
                            "src": "3087:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3058:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3058:3:132"
                        },
                        "nativeSrc": "3058:48:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3058:48:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3035:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3035:6:132"
                    },
                    "nativeSrc": "3035:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3035:72:132"
                  },
                  "nativeSrc": "3035:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3035:72:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3127:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3127:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3132:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3132:4:132",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3123:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3123:3:132"
                        },
                        "nativeSrc": "3123:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3123:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3150:1:132",
                            "nodeType": "YulLiteral",
                            "src": "3150:1:132",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "3163:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "3163:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3170:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "3170:4:132",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3159:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "3159:3:132"
                                },
                                "nativeSrc": "3159:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "3159:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3153:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "3153:5:132"
                            },
                            "nativeSrc": "3153:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "3153:23:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "3139:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "3139:10:132"
                        },
                        "nativeSrc": "3139:38:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3139:38:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3116:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3116:6:132"
                    },
                    "nativeSrc": "3116:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3116:62:132"
                  },
                  "nativeSrc": "3116:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3116:62:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3198:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3198:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3203:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3203:4:132",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3194:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3194:3:132"
                        },
                        "nativeSrc": "3194:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3194:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "3224:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "3224:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3231:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "3231:4:132",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3220:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "3220:3:132"
                                },
                                "nativeSrc": "3220:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "3220:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3214:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "3214:5:132"
                            },
                            "nativeSrc": "3214:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "3214:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3239:18:132",
                            "nodeType": "YulLiteral",
                            "src": "3239:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3210:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3210:3:132"
                        },
                        "nativeSrc": "3210:48:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3210:48:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3187:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3187:6:132"
                    },
                    "nativeSrc": "3187:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3187:72:132"
                  },
                  "nativeSrc": "3187:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3187:72:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3279:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3279:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3284:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3284:4:132",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3275:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3275:3:132"
                        },
                        "nativeSrc": "3275:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3275:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3301:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "3301:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3308:4:132",
                                "nodeType": "YulLiteral",
                                "src": "3308:4:132",
                                "type": "",
                                "value": "0x80"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3297:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "3297:3:132"
                            },
                            "nativeSrc": "3297:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "3297:16:132"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "3291:5:132",
                          "nodeType": "YulIdentifier",
                          "src": "3291:5:132"
                        },
                        "nativeSrc": "3291:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3291:23:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3268:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3268:6:132"
                    },
                    "nativeSrc": "3268:47:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3268:47:132"
                  },
                  "nativeSrc": "3268:47:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3268:47:132"
                }
              ]
            },
            "name": "abi_encode_struct_Price",
            "nativeSrc": "2927:394:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2960:5:132",
                "nodeType": "YulTypedName",
                "src": "2960:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2967:3:132",
                "nodeType": "YulTypedName",
                "src": "2967:3:132",
                "type": ""
              }
            ],
            "src": "2927:394:132"
          },
          {
            "body": {
              "nativeSrc": "3381:1517:132",
              "nodeType": "YulBlock",
              "src": "3381:1517:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3398:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "3398:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3409:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "3409:5:132"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "3403:5:132",
                          "nodeType": "YulIdentifier",
                          "src": "3403:5:132"
                        },
                        "nativeSrc": "3403:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3403:12:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3391:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3391:6:132"
                    },
                    "nativeSrc": "3391:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3391:25:132"
                  },
                  "nativeSrc": "3391:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3391:25:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3436:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3436:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3441:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3441:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3432:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3432:3:132"
                        },
                        "nativeSrc": "3432:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3432:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3459:1:132",
                            "nodeType": "YulLiteral",
                            "src": "3459:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "3472:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "3472:5:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3479:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "3479:4:132",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3468:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "3468:3:132"
                                },
                                "nativeSrc": "3468:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "3468:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3462:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "3462:5:132"
                            },
                            "nativeSrc": "3462:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "3462:23:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "3448:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "3448:10:132"
                        },
                        "nativeSrc": "3448:38:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3448:38:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3425:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3425:6:132"
                    },
                    "nativeSrc": "3425:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3425:62:132"
                  },
                  "nativeSrc": "3425:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3425:62:132"
                },
                {
                  "nativeSrc": "3496:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3496:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3526:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "3526:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3533:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3533:4:132",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3522:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3522:3:132"
                        },
                        "nativeSrc": "3522:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3522:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3516:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "3516:5:132"
                    },
                    "nativeSrc": "3516:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3516:23:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "3500:12:132",
                      "nodeType": "YulTypedName",
                      "src": "3500:12:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3559:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3559:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3564:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3564:4:132",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3555:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3555:3:132"
                        },
                        "nativeSrc": "3555:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3555:14:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3571:6:132",
                        "nodeType": "YulLiteral",
                        "src": "3571:6:132",
                        "type": "",
                        "value": "0x0240"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3548:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3548:6:132"
                    },
                    "nativeSrc": "3548:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3548:30:132"
                  },
                  "nativeSrc": "3548:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3548:30:132"
                },
                {
                  "nativeSrc": "3587:72:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3587:72:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "3628:12:132",
                        "nodeType": "YulIdentifier",
                        "src": "3628:12:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3646:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3646:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3651:6:132",
                            "nodeType": "YulLiteral",
                            "src": "3651:6:132",
                            "type": "",
                            "value": "0x0240"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3642:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3642:3:132"
                        },
                        "nativeSrc": "3642:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3642:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "3599:28:132",
                      "nodeType": "YulIdentifier",
                      "src": "3599:28:132"
                    },
                    "nativeSrc": "3599:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3599:60:132"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "3591:4:132",
                      "nodeType": "YulTypedName",
                      "src": "3591:4:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3668:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3668:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3700:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "3700:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3707:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3707:4:132",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3696:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3696:3:132"
                        },
                        "nativeSrc": "3696:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3696:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3690:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "3690:5:132"
                    },
                    "nativeSrc": "3690:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3690:23:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "3672:14:132",
                      "nodeType": "YulTypedName",
                      "src": "3672:14:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3733:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3733:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3738:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3738:4:132",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3729:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3729:3:132"
                        },
                        "nativeSrc": "3729:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3729:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail",
                            "nativeSrc": "3749:4:132",
                            "nodeType": "YulIdentifier",
                            "src": "3749:4:132"
                          },
                          {
                            "name": "pos",
                            "nativeSrc": "3755:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "3755:3:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3745:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3745:3:132"
                        },
                        "nativeSrc": "3745:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3745:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3722:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3722:6:132"
                    },
                    "nativeSrc": "3722:38:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3722:38:132"
                  },
                  "nativeSrc": "3722:38:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3722:38:132"
                },
                {
                  "nativeSrc": "3769:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3769:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail",
                        "nativeSrc": "3787:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "3787:4:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3793:4:132",
                        "nodeType": "YulLiteral",
                        "src": "3793:4:132",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3783:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "3783:3:132"
                    },
                    "nativeSrc": "3783:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3783:15:132"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "3773:6:132",
                      "nodeType": "YulTypedName",
                      "src": "3773:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "3837:14:132",
                            "nodeType": "YulIdentifier",
                            "src": "3837:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "3831:5:132",
                          "nodeType": "YulIdentifier",
                          "src": "3831:5:132"
                        },
                        "nativeSrc": "3831:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3831:21:132"
                      },
                      {
                        "name": "tail",
                        "nativeSrc": "3854:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "3854:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Mappers",
                      "nativeSrc": "3807:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "3807:23:132"
                    },
                    "nativeSrc": "3807:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3807:52:132"
                  },
                  "nativeSrc": "3807:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3807:52:132"
                },
                {
                  "nativeSrc": "3868:54:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3868:54:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "3900:14:132",
                            "nodeType": "YulIdentifier",
                            "src": "3900:14:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3916:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3916:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3896:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3896:3:132"
                        },
                        "nativeSrc": "3896:25:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3896:25:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3890:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "3890:5:132"
                    },
                    "nativeSrc": "3890:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3890:32:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "3872:14:132",
                      "nodeType": "YulTypedName",
                      "src": "3872:14:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail",
                            "nativeSrc": "3942:4:132",
                            "nodeType": "YulIdentifier",
                            "src": "3942:4:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3948:4:132",
                            "nodeType": "YulLiteral",
                            "src": "3948:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3938:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "3938:3:132"
                        },
                        "nativeSrc": "3938:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "3938:15:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3955:4:132",
                        "nodeType": "YulLiteral",
                        "src": "3955:4:132",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3931:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "3931:6:132"
                    },
                    "nativeSrc": "3931:29:132",
                    "nodeType": "YulFunctionCall",
                    "src": "3931:29:132"
                  },
                  "nativeSrc": "3931:29:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "3931:29:132"
                },
                {
                  "nativeSrc": "3969:19:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3969:19:132",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "3982:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "3982:6:132"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3973:5:132",
                      "nodeType": "YulTypedName",
                      "src": "3973:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3997:35:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3997:35:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_2",
                        "nativeSrc": "4017:14:132",
                        "nodeType": "YulIdentifier",
                        "src": "4017:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4011:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "4011:5:132"
                    },
                    "nativeSrc": "4011:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4011:21:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "4001:6:132",
                      "nodeType": "YulTypedName",
                      "src": "4001:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "4048:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "4048:6:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "4056:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "4056:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4041:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "4041:6:132"
                    },
                    "nativeSrc": "4041:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4041:22:132"
                  },
                  "nativeSrc": "4041:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "4041:22:132"
                },
                {
                  "nativeSrc": "4072:24:132",
                  "nodeType": "YulAssignment",
                  "src": "4072:24:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail",
                        "nativeSrc": "4085:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "4085:4:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4091:4:132",
                        "nodeType": "YulLiteral",
                        "src": "4091:4:132",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4081:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "4081:3:132"
                    },
                    "nativeSrc": "4081:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4081:15:132"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "4072:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "4072:5:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "4105:50:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4105:50:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail",
                            "nativeSrc": "4127:4:132",
                            "nodeType": "YulIdentifier",
                            "src": "4127:4:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "4137:1:132",
                                "nodeType": "YulLiteral",
                                "src": "4137:1:132",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "4140:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "4140:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "4133:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "4133:3:132"
                            },
                            "nativeSrc": "4133:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "4133:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4123:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4123:3:132"
                        },
                        "nativeSrc": "4123:25:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4123:25:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4150:4:132",
                        "nodeType": "YulLiteral",
                        "src": "4150:4:132",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4119:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "4119:3:132"
                    },
                    "nativeSrc": "4119:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4119:36:132"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "4109:6:132",
                      "nodeType": "YulTypedName",
                      "src": "4109:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4164:39:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4164:39:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_2",
                        "nativeSrc": "4182:14:132",
                        "nodeType": "YulIdentifier",
                        "src": "4182:14:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4198:4:132",
                        "nodeType": "YulLiteral",
                        "src": "4198:4:132",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4178:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "4178:3:132"
                    },
                    "nativeSrc": "4178:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4178:25:132"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "4168:6:132",
                      "nodeType": "YulTypedName",
                      "src": "4168:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4212:10:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4212:10:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "4221:1:132",
                    "nodeType": "YulLiteral",
                    "src": "4221:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "4216:1:132",
                      "nodeType": "YulTypedName",
                      "src": "4216:1:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4280:222:132",
                    "nodeType": "YulBlock",
                    "src": "4280:222:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "4301:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "4301:5:132"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "4316:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "4316:6:132"
                                    },
                                    {
                                      "name": "tail",
                                      "nativeSrc": "4324:4:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "4324:4:132"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "4312:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "4312:3:132"
                                  },
                                  "nativeSrc": "4312:17:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "4312:17:132"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "4335:2:132",
                                      "nodeType": "YulLiteral",
                                      "src": "4335:2:132",
                                      "type": "",
                                      "value": "95"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "4331:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "4331:3:132"
                                  },
                                  "nativeSrc": "4331:7:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "4331:7:132"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "4308:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "4308:3:132"
                              },
                              "nativeSrc": "4308:31:132",
                              "nodeType": "YulFunctionCall",
                              "src": "4308:31:132"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "4294:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "4294:6:132"
                          },
                          "nativeSrc": "4294:46:132",
                          "nodeType": "YulFunctionCall",
                          "src": "4294:46:132"
                        },
                        "nativeSrc": "4294:46:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "4294:46:132"
                      },
                      {
                        "nativeSrc": "4353:61:132",
                        "nodeType": "YulAssignment",
                        "src": "4353:61:132",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "4398:6:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "4398:6:132"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "4392:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "4392:5:132"
                              },
                              "nativeSrc": "4392:13:132",
                              "nodeType": "YulFunctionCall",
                              "src": "4392:13:132"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "4407:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "4407:6:132"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "4363:28:132",
                            "nodeType": "YulIdentifier",
                            "src": "4363:28:132"
                          },
                          "nativeSrc": "4363:51:132",
                          "nodeType": "YulFunctionCall",
                          "src": "4363:51:132"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "4353:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "4353:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "4427:27:132",
                        "nodeType": "YulAssignment",
                        "src": "4427:27:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "4441:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "4441:6:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4449:4:132",
                              "nodeType": "YulLiteral",
                              "src": "4449:4:132",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4437:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "4437:3:132"
                          },
                          "nativeSrc": "4437:17:132",
                          "nodeType": "YulFunctionCall",
                          "src": "4437:17:132"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "4427:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "4427:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "4467:25:132",
                        "nodeType": "YulAssignment",
                        "src": "4467:25:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "4480:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "4480:5:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4487:4:132",
                              "nodeType": "YulLiteral",
                              "src": "4487:4:132",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4476:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "4476:3:132"
                          },
                          "nativeSrc": "4476:16:132",
                          "nodeType": "YulFunctionCall",
                          "src": "4476:16:132"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "4467:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "4467:5:132"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "4242:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "4242:1:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "4245:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "4245:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "4239:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "4239:2:132"
                    },
                    "nativeSrc": "4239:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4239:13:132"
                  },
                  "nativeSrc": "4231:271:132",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "4253:18:132",
                    "nodeType": "YulBlock",
                    "src": "4253:18:132",
                    "statements": [
                      {
                        "nativeSrc": "4255:14:132",
                        "nodeType": "YulAssignment",
                        "src": "4255:14:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "4264:1:132",
                              "nodeType": "YulIdentifier",
                              "src": "4264:1:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4267:1:132",
                              "nodeType": "YulLiteral",
                              "src": "4267:1:132",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4260:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "4260:3:132"
                          },
                          "nativeSrc": "4260:9:132",
                          "nodeType": "YulFunctionCall",
                          "src": "4260:9:132"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "4255:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "4255:1:132"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "4235:3:132",
                    "nodeType": "YulBlock",
                    "src": "4235:3:132",
                    "statements": []
                  },
                  "src": "4231:271:132"
                },
                {
                  "nativeSrc": "4511:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4511:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4543:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "4543:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4550:4:132",
                            "nodeType": "YulLiteral",
                            "src": "4550:4:132",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4539:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4539:3:132"
                        },
                        "nativeSrc": "4539:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4539:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4533:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "4533:5:132"
                    },
                    "nativeSrc": "4533:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4533:23:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_3",
                      "nativeSrc": "4515:14:132",
                      "nodeType": "YulTypedName",
                      "src": "4515:14:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_3",
                        "nativeSrc": "4590:14:132",
                        "nodeType": "YulIdentifier",
                        "src": "4590:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4610:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "4610:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4615:4:132",
                            "nodeType": "YulLiteral",
                            "src": "4615:4:132",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4606:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4606:3:132"
                        },
                        "nativeSrc": "4606:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4606:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Oracle",
                      "nativeSrc": "4565:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "4565:24:132"
                    },
                    "nativeSrc": "4565:56:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4565:56:132"
                  },
                  "nativeSrc": "4565:56:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "4565:56:132"
                },
                {
                  "nativeSrc": "4630:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4630:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4662:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "4662:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4669:4:132",
                            "nodeType": "YulLiteral",
                            "src": "4669:4:132",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4658:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4658:3:132"
                        },
                        "nativeSrc": "4658:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4658:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4652:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "4652:5:132"
                    },
                    "nativeSrc": "4652:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4652:23:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_4",
                      "nativeSrc": "4634:14:132",
                      "nodeType": "YulTypedName",
                      "src": "4634:14:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_4",
                        "nativeSrc": "4719:14:132",
                        "nodeType": "YulIdentifier",
                        "src": "4719:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4739:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "4739:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4744:4:132",
                            "nodeType": "YulLiteral",
                            "src": "4744:4:132",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4735:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4735:3:132"
                        },
                        "nativeSrc": "4735:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4735:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_UpdateConditions",
                      "nativeSrc": "4684:34:132",
                      "nodeType": "YulIdentifier",
                      "src": "4684:34:132"
                    },
                    "nativeSrc": "4684:66:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4684:66:132"
                  },
                  "nativeSrc": "4684:66:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "4684:66:132"
                },
                {
                  "nativeSrc": "4759:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4759:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4791:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "4791:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4798:4:132",
                            "nodeType": "YulLiteral",
                            "src": "4798:4:132",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4787:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4787:3:132"
                        },
                        "nativeSrc": "4787:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4787:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4781:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "4781:5:132"
                    },
                    "nativeSrc": "4781:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4781:23:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_5",
                      "nativeSrc": "4763:14:132",
                      "nodeType": "YulTypedName",
                      "src": "4763:14:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_5",
                        "nativeSrc": "4837:14:132",
                        "nodeType": "YulIdentifier",
                        "src": "4837:14:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4857:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "4857:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4862:6:132",
                            "nodeType": "YulLiteral",
                            "src": "4862:6:132",
                            "type": "",
                            "value": "0x01a0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4853:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "4853:3:132"
                        },
                        "nativeSrc": "4853:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "4853:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "4813:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "4813:23:132"
                    },
                    "nativeSrc": "4813:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "4813:57:132"
                  },
                  "nativeSrc": "4813:57:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "4813:57:132"
                },
                {
                  "nativeSrc": "4879:13:132",
                  "nodeType": "YulAssignment",
                  "src": "4879:13:132",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "4886:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "4886:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "4879:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "4879:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Info",
            "nativeSrc": "3326:1572:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3358:5:132",
                "nodeType": "YulTypedName",
                "src": "3358:5:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3365:3:132",
                "nodeType": "YulTypedName",
                "src": "3365:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3373:3:132",
                "nodeType": "YulTypedName",
                "src": "3373:3:132",
                "type": ""
              }
            ],
            "src": "3326:1572:132"
          },
          {
            "body": {
              "nativeSrc": "5050:104:132",
              "nodeType": "YulBlock",
              "src": "5050:104:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5067:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "5067:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5078:2:132",
                        "nodeType": "YulLiteral",
                        "src": "5078:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5060:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "5060:6:132"
                    },
                    "nativeSrc": "5060:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5060:21:132"
                  },
                  "nativeSrc": "5060:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "5060:21:132"
                },
                {
                  "nativeSrc": "5090:58:132",
                  "nodeType": "YulAssignment",
                  "src": "5090:58:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5121:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "5121:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5133:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "5133:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5144:2:132",
                            "nodeType": "YulLiteral",
                            "src": "5144:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5129:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "5129:3:132"
                        },
                        "nativeSrc": "5129:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "5129:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Info",
                      "nativeSrc": "5098:22:132",
                      "nodeType": "YulIdentifier",
                      "src": "5098:22:132"
                    },
                    "nativeSrc": "5098:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5098:50:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5090:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "5090:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Info_$25314_memory_ptr__to_t_struct$_Info_$25314_memory_ptr__fromStack_reversed",
            "nativeSrc": "4903:251:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5019:9:132",
                "nodeType": "YulTypedName",
                "src": "5019:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5030:6:132",
                "nodeType": "YulTypedName",
                "src": "5030:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5041:4:132",
                "nodeType": "YulTypedName",
                "src": "5041:4:132",
                "type": ""
              }
            ],
            "src": "4903:251:132"
          },
          {
            "body": {
              "nativeSrc": "5260:102:132",
              "nodeType": "YulBlock",
              "src": "5260:102:132",
              "statements": [
                {
                  "nativeSrc": "5270:26:132",
                  "nodeType": "YulAssignment",
                  "src": "5270:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5282:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "5282:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5293:2:132",
                        "nodeType": "YulLiteral",
                        "src": "5293:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5278:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "5278:3:132"
                    },
                    "nativeSrc": "5278:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5278:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5270:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "5270:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5312:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "5312:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "5327:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "5327:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5343:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "5343:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5348:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "5348:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "5339:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "5339:3:132"
                                },
                                "nativeSrc": "5339:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "5339:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5352:1:132",
                                "nodeType": "YulLiteral",
                                "src": "5352:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "5335:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "5335:3:132"
                            },
                            "nativeSrc": "5335:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "5335:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5323:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "5323:3:132"
                        },
                        "nativeSrc": "5323:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "5323:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5305:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "5305:6:132"
                    },
                    "nativeSrc": "5305:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5305:51:132"
                  },
                  "nativeSrc": "5305:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "5305:51:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "5159:203:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5229:9:132",
                "nodeType": "YulTypedName",
                "src": "5229:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5240:6:132",
                "nodeType": "YulTypedName",
                "src": "5240:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5251:4:132",
                "nodeType": "YulTypedName",
                "src": "5251:4:132",
                "type": ""
              }
            ],
            "src": "5159:203:132"
          },
          {
            "body": {
              "nativeSrc": "5462:92:132",
              "nodeType": "YulBlock",
              "src": "5462:92:132",
              "statements": [
                {
                  "nativeSrc": "5472:26:132",
                  "nodeType": "YulAssignment",
                  "src": "5472:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5484:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "5484:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5495:2:132",
                        "nodeType": "YulLiteral",
                        "src": "5495:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5480:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "5480:3:132"
                    },
                    "nativeSrc": "5480:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5480:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5472:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "5472:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5514:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "5514:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "5539:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "5539:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "5532:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "5532:6:132"
                            },
                            "nativeSrc": "5532:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "5532:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "5525:6:132",
                          "nodeType": "YulIdentifier",
                          "src": "5525:6:132"
                        },
                        "nativeSrc": "5525:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "5525:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5507:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "5507:6:132"
                    },
                    "nativeSrc": "5507:41:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5507:41:132"
                  },
                  "nativeSrc": "5507:41:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "5507:41:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "5367:187:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5431:9:132",
                "nodeType": "YulTypedName",
                "src": "5431:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5442:6:132",
                "nodeType": "YulTypedName",
                "src": "5442:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5453:4:132",
                "nodeType": "YulTypedName",
                "src": "5453:4:132",
                "type": ""
              }
            ],
            "src": "5367:187:132"
          },
          {
            "body": {
              "nativeSrc": "5631:275:132",
              "nodeType": "YulBlock",
              "src": "5631:275:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5680:16:132",
                    "nodeType": "YulBlock",
                    "src": "5680:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5689:1:132",
                              "nodeType": "YulLiteral",
                              "src": "5689:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5692:1:132",
                              "nodeType": "YulLiteral",
                              "src": "5692:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5682:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "5682:6:132"
                          },
                          "nativeSrc": "5682:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "5682:12:132"
                        },
                        "nativeSrc": "5682:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "5682:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "5659:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "5659:6:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5667:4:132",
                                "nodeType": "YulLiteral",
                                "src": "5667:4:132",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5655:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "5655:3:132"
                            },
                            "nativeSrc": "5655:17:132",
                            "nodeType": "YulFunctionCall",
                            "src": "5655:17:132"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "5674:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "5674:3:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "5651:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "5651:3:132"
                        },
                        "nativeSrc": "5651:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "5651:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5644:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "5644:6:132"
                    },
                    "nativeSrc": "5644:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5644:35:132"
                  },
                  "nativeSrc": "5641:55:132",
                  "nodeType": "YulIf",
                  "src": "5641:55:132"
                },
                {
                  "nativeSrc": "5705:30:132",
                  "nodeType": "YulAssignment",
                  "src": "5705:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5728:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "5728:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5715:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "5715:12:132"
                    },
                    "nativeSrc": "5715:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5715:20:132"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "5705:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "5705:6:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5778:16:132",
                    "nodeType": "YulBlock",
                    "src": "5778:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5787:1:132",
                              "nodeType": "YulLiteral",
                              "src": "5787:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5790:1:132",
                              "nodeType": "YulLiteral",
                              "src": "5790:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5780:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "5780:6:132"
                          },
                          "nativeSrc": "5780:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "5780:12:132"
                        },
                        "nativeSrc": "5780:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "5780:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "5750:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "5750:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5758:18:132",
                        "nodeType": "YulLiteral",
                        "src": "5758:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5747:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "5747:2:132"
                    },
                    "nativeSrc": "5747:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5747:30:132"
                  },
                  "nativeSrc": "5744:50:132",
                  "nodeType": "YulIf",
                  "src": "5744:50:132"
                },
                {
                  "nativeSrc": "5803:29:132",
                  "nodeType": "YulAssignment",
                  "src": "5803:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5819:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "5819:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5827:4:132",
                        "nodeType": "YulLiteral",
                        "src": "5827:4:132",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5815:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "5815:3:132"
                    },
                    "nativeSrc": "5815:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5815:17:132"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "5803:8:132",
                      "nodeType": "YulIdentifier",
                      "src": "5803:8:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5884:16:132",
                    "nodeType": "YulBlock",
                    "src": "5884:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5893:1:132",
                              "nodeType": "YulLiteral",
                              "src": "5893:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5896:1:132",
                              "nodeType": "YulLiteral",
                              "src": "5896:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5886:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "5886:6:132"
                          },
                          "nativeSrc": "5886:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "5886:12:132"
                        },
                        "nativeSrc": "5886:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "5886:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "5855:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "5855:6:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "5863:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "5863:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5851:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "5851:3:132"
                            },
                            "nativeSrc": "5851:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "5851:19:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5872:4:132",
                            "nodeType": "YulLiteral",
                            "src": "5872:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5847:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "5847:3:132"
                        },
                        "nativeSrc": "5847:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "5847:30:132"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "5879:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "5879:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5844:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "5844:2:132"
                    },
                    "nativeSrc": "5844:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "5844:39:132"
                  },
                  "nativeSrc": "5841:59:132",
                  "nodeType": "YulIf",
                  "src": "5841:59:132"
                }
              ]
            },
            "name": "abi_decode_bytes_calldata",
            "nativeSrc": "5559:347:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "5594:6:132",
                "nodeType": "YulTypedName",
                "src": "5594:6:132",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "5602:3:132",
                "nodeType": "YulTypedName",
                "src": "5602:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "5610:8:132",
                "nodeType": "YulTypedName",
                "src": "5610:8:132",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "5620:6:132",
                "nodeType": "YulTypedName",
                "src": "5620:6:132",
                "type": ""
              }
            ],
            "src": "5559:347:132"
          },
          {
            "body": {
              "nativeSrc": "6000:320:132",
              "nodeType": "YulBlock",
              "src": "6000:320:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6046:16:132",
                    "nodeType": "YulBlock",
                    "src": "6046:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6055:1:132",
                              "nodeType": "YulLiteral",
                              "src": "6055:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6058:1:132",
                              "nodeType": "YulLiteral",
                              "src": "6058:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6048:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "6048:6:132"
                          },
                          "nativeSrc": "6048:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "6048:12:132"
                        },
                        "nativeSrc": "6048:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "6048:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6021:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "6021:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6030:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "6030:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6017:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "6017:3:132"
                        },
                        "nativeSrc": "6017:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "6017:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6042:2:132",
                        "nodeType": "YulLiteral",
                        "src": "6042:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6013:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "6013:3:132"
                    },
                    "nativeSrc": "6013:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6013:32:132"
                  },
                  "nativeSrc": "6010:52:132",
                  "nodeType": "YulIf",
                  "src": "6010:52:132"
                },
                {
                  "nativeSrc": "6071:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6071:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6098:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "6098:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6085:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "6085:12:132"
                    },
                    "nativeSrc": "6085:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6085:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6075:6:132",
                      "nodeType": "YulTypedName",
                      "src": "6075:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6151:16:132",
                    "nodeType": "YulBlock",
                    "src": "6151:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6160:1:132",
                              "nodeType": "YulLiteral",
                              "src": "6160:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6163:1:132",
                              "nodeType": "YulLiteral",
                              "src": "6163:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6153:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "6153:6:132"
                          },
                          "nativeSrc": "6153:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "6153:12:132"
                        },
                        "nativeSrc": "6153:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "6153:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6123:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "6123:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6131:18:132",
                        "nodeType": "YulLiteral",
                        "src": "6131:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6120:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "6120:2:132"
                    },
                    "nativeSrc": "6120:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6120:30:132"
                  },
                  "nativeSrc": "6117:50:132",
                  "nodeType": "YulIf",
                  "src": "6117:50:132"
                },
                {
                  "nativeSrc": "6176:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6176:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6232:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "6232:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "6243:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "6243:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6228:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "6228:3:132"
                        },
                        "nativeSrc": "6228:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "6228:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6252:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "6252:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "6202:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "6202:25:132"
                    },
                    "nativeSrc": "6202:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6202:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "6180:8:132",
                      "nodeType": "YulTypedName",
                      "src": "6180:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "6190:8:132",
                      "nodeType": "YulTypedName",
                      "src": "6190:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6269:18:132",
                  "nodeType": "YulAssignment",
                  "src": "6269:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "6279:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "6279:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "6269:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "6269:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "6296:18:132",
                  "nodeType": "YulAssignment",
                  "src": "6296:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "6306:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "6306:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "6296:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "6296:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptr",
            "nativeSrc": "5911:409:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5958:9:132",
                "nodeType": "YulTypedName",
                "src": "5958:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5969:7:132",
                "nodeType": "YulTypedName",
                "src": "5969:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5981:6:132",
                "nodeType": "YulTypedName",
                "src": "5981:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5989:6:132",
                "nodeType": "YulTypedName",
                "src": "5989:6:132",
                "type": ""
              }
            ],
            "src": "5911:409:132"
          },
          {
            "body": {
              "nativeSrc": "6426:76:132",
              "nodeType": "YulBlock",
              "src": "6426:76:132",
              "statements": [
                {
                  "nativeSrc": "6436:26:132",
                  "nodeType": "YulAssignment",
                  "src": "6436:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6448:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "6448:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6459:2:132",
                        "nodeType": "YulLiteral",
                        "src": "6459:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6444:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "6444:3:132"
                    },
                    "nativeSrc": "6444:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6444:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6436:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "6436:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6478:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "6478:9:132"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "6489:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "6489:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6471:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "6471:6:132"
                    },
                    "nativeSrc": "6471:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6471:25:132"
                  },
                  "nativeSrc": "6471:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "6471:25:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "6325:177:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6395:9:132",
                "nodeType": "YulTypedName",
                "src": "6395:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6406:6:132",
                "nodeType": "YulTypedName",
                "src": "6406:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6417:4:132",
                "nodeType": "YulTypedName",
                "src": "6417:4:132",
                "type": ""
              }
            ],
            "src": "6325:177:132"
          },
          {
            "body": {
              "nativeSrc": "6602:91:132",
              "nodeType": "YulBlock",
              "src": "6602:91:132",
              "statements": [
                {
                  "nativeSrc": "6612:26:132",
                  "nodeType": "YulAssignment",
                  "src": "6612:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6624:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "6624:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6635:2:132",
                        "nodeType": "YulLiteral",
                        "src": "6635:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6620:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "6620:3:132"
                    },
                    "nativeSrc": "6620:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6620:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6612:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "6612:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6654:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "6654:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6676:1:132",
                            "nodeType": "YulLiteral",
                            "src": "6676:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value0",
                            "nativeSrc": "6679:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "6679:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "6665:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "6665:10:132"
                        },
                        "nativeSrc": "6665:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "6665:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6647:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "6647:6:132"
                    },
                    "nativeSrc": "6647:40:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6647:40:132"
                  },
                  "nativeSrc": "6647:40:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "6647:40:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int8__to_t_int8__fromStack_reversed",
            "nativeSrc": "6507:186:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6571:9:132",
                "nodeType": "YulTypedName",
                "src": "6571:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6582:6:132",
                "nodeType": "YulTypedName",
                "src": "6582:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6593:4:132",
                "nodeType": "YulTypedName",
                "src": "6593:4:132",
                "type": ""
              }
            ],
            "src": "6507:186:132"
          },
          {
            "body": {
              "nativeSrc": "6742:85:132",
              "nodeType": "YulBlock",
              "src": "6742:85:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6805:16:132",
                    "nodeType": "YulBlock",
                    "src": "6805:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6814:1:132",
                              "nodeType": "YulLiteral",
                              "src": "6814:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6817:1:132",
                              "nodeType": "YulLiteral",
                              "src": "6817:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6807:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "6807:6:132"
                          },
                          "nativeSrc": "6807:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "6807:12:132"
                        },
                        "nativeSrc": "6807:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "6807:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "6765:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "6765:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "6776:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "6776:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6783:18:132",
                                "nodeType": "YulLiteral",
                                "src": "6783:18:132",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "6772:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "6772:3:132"
                            },
                            "nativeSrc": "6772:30:132",
                            "nodeType": "YulFunctionCall",
                            "src": "6772:30:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "6762:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "6762:2:132"
                        },
                        "nativeSrc": "6762:41:132",
                        "nodeType": "YulFunctionCall",
                        "src": "6762:41:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "6755:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "6755:6:132"
                    },
                    "nativeSrc": "6755:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6755:49:132"
                  },
                  "nativeSrc": "6752:69:132",
                  "nodeType": "YulIf",
                  "src": "6752:69:132"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "6698:129:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "6731:5:132",
                "nodeType": "YulTypedName",
                "src": "6731:5:132",
                "type": ""
              }
            ],
            "src": "6698:129:132"
          },
          {
            "body": {
              "nativeSrc": "6880:84:132",
              "nodeType": "YulBlock",
              "src": "6880:84:132",
              "statements": [
                {
                  "nativeSrc": "6890:29:132",
                  "nodeType": "YulAssignment",
                  "src": "6890:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6912:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "6912:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6899:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "6899:12:132"
                    },
                    "nativeSrc": "6899:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6899:20:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "6890:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "6890:5:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "6952:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "6952:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "6928:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "6928:23:132"
                    },
                    "nativeSrc": "6928:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "6928:30:132"
                  },
                  "nativeSrc": "6928:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "6928:30:132"
                }
              ]
            },
            "name": "abi_decode_uint64",
            "nativeSrc": "6832:132:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "6859:6:132",
                "nodeType": "YulTypedName",
                "src": "6859:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "6870:5:132",
                "nodeType": "YulTypedName",
                "src": "6870:5:132",
                "type": ""
              }
            ],
            "src": "6832:132:132"
          },
          {
            "body": {
              "nativeSrc": "7079:279:132",
              "nodeType": "YulBlock",
              "src": "7079:279:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7125:16:132",
                    "nodeType": "YulBlock",
                    "src": "7125:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7134:1:132",
                              "nodeType": "YulLiteral",
                              "src": "7134:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7137:1:132",
                              "nodeType": "YulLiteral",
                              "src": "7137:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7127:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "7127:6:132"
                          },
                          "nativeSrc": "7127:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "7127:12:132"
                        },
                        "nativeSrc": "7127:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "7127:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7100:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "7100:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "7109:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "7109:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7096:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "7096:3:132"
                        },
                        "nativeSrc": "7096:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7096:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7121:2:132",
                        "nodeType": "YulLiteral",
                        "src": "7121:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7092:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "7092:3:132"
                    },
                    "nativeSrc": "7092:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7092:32:132"
                  },
                  "nativeSrc": "7089:52:132",
                  "nodeType": "YulIf",
                  "src": "7089:52:132"
                },
                {
                  "nativeSrc": "7150:14:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7150:14:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "7163:1:132",
                    "nodeType": "YulLiteral",
                    "src": "7163:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "7154:5:132",
                      "nodeType": "YulTypedName",
                      "src": "7154:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7173:32:132",
                  "nodeType": "YulAssignment",
                  "src": "7173:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7195:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "7195:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7182:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "7182:12:132"
                    },
                    "nativeSrc": "7182:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7182:23:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7173:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "7173:5:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "7214:15:132",
                  "nodeType": "YulAssignment",
                  "src": "7214:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "7224:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "7224:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7214:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "7214:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "7238:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7238:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7270:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "7270:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7281:2:132",
                            "nodeType": "YulLiteral",
                            "src": "7281:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7266:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "7266:3:132"
                        },
                        "nativeSrc": "7266:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7266:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7253:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "7253:12:132"
                    },
                    "nativeSrc": "7253:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7253:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "7242:7:132",
                      "nodeType": "YulTypedName",
                      "src": "7242:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "7318:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "7318:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "7294:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "7294:23:132"
                    },
                    "nativeSrc": "7294:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7294:32:132"
                  },
                  "nativeSrc": "7294:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "7294:32:132"
                },
                {
                  "nativeSrc": "7335:17:132",
                  "nodeType": "YulAssignment",
                  "src": "7335:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "7345:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "7345:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "7335:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "7335:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID_$26992t_uint64",
            "nativeSrc": "6969:389:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7037:9:132",
                "nodeType": "YulTypedName",
                "src": "7037:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7048:7:132",
                "nodeType": "YulTypedName",
                "src": "7048:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7060:6:132",
                "nodeType": "YulTypedName",
                "src": "7060:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "7068:6:132",
                "nodeType": "YulTypedName",
                "src": "7068:6:132",
                "type": ""
              }
            ],
            "src": "6969:389:132"
          },
          {
            "body": {
              "nativeSrc": "7520:328:132",
              "nodeType": "YulBlock",
              "src": "7520:328:132",
              "statements": [
                {
                  "nativeSrc": "7530:27:132",
                  "nodeType": "YulAssignment",
                  "src": "7530:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7542:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "7542:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7553:3:132",
                        "nodeType": "YulLiteral",
                        "src": "7553:3:132",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7538:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "7538:3:132"
                    },
                    "nativeSrc": "7538:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7538:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "7530:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "7530:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7573:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "7573:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "7595:1:132",
                            "nodeType": "YulLiteral",
                            "src": "7595:1:132",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "7604:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "7604:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "7598:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "7598:5:132"
                            },
                            "nativeSrc": "7598:13:132",
                            "nodeType": "YulFunctionCall",
                            "src": "7598:13:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "7584:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "7584:10:132"
                        },
                        "nativeSrc": "7584:28:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7584:28:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7566:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "7566:6:132"
                    },
                    "nativeSrc": "7566:47:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7566:47:132"
                  },
                  "nativeSrc": "7566:47:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "7566:47:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7633:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "7633:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7644:4:132",
                            "nodeType": "YulLiteral",
                            "src": "7644:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7629:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "7629:3:132"
                        },
                        "nativeSrc": "7629:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7629:20:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "7665:6:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "7665:6:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "7673:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "7673:4:132",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "7661:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "7661:3:132"
                                },
                                "nativeSrc": "7661:17:132",
                                "nodeType": "YulFunctionCall",
                                "src": "7661:17:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "7655:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "7655:5:132"
                            },
                            "nativeSrc": "7655:24:132",
                            "nodeType": "YulFunctionCall",
                            "src": "7655:24:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7681:18:132",
                            "nodeType": "YulLiteral",
                            "src": "7681:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7651:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "7651:3:132"
                        },
                        "nativeSrc": "7651:49:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7651:49:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7622:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "7622:6:132"
                    },
                    "nativeSrc": "7622:79:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7622:79:132"
                  },
                  "nativeSrc": "7622:79:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "7622:79:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7721:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "7721:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7732:4:132",
                            "nodeType": "YulLiteral",
                            "src": "7732:4:132",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7717:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "7717:3:132"
                        },
                        "nativeSrc": "7717:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7717:20:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "7750:1:132",
                            "nodeType": "YulLiteral",
                            "src": "7750:1:132",
                            "type": "",
                            "value": "3"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "7763:6:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "7763:6:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "7771:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "7771:4:132",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "7759:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "7759:3:132"
                                },
                                "nativeSrc": "7759:17:132",
                                "nodeType": "YulFunctionCall",
                                "src": "7759:17:132"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "7753:5:132",
                              "nodeType": "YulIdentifier",
                              "src": "7753:5:132"
                            },
                            "nativeSrc": "7753:24:132",
                            "nodeType": "YulFunctionCall",
                            "src": "7753:24:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "7739:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "7739:10:132"
                        },
                        "nativeSrc": "7739:39:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7739:39:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7710:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "7710:6:132"
                    },
                    "nativeSrc": "7710:69:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7710:69:132"
                  },
                  "nativeSrc": "7710:69:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "7710:69:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7799:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "7799:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7810:4:132",
                            "nodeType": "YulLiteral",
                            "src": "7810:4:132",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7795:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "7795:3:132"
                        },
                        "nativeSrc": "7795:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7795:20:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "7827:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "7827:6:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7835:4:132",
                                "nodeType": "YulLiteral",
                                "src": "7835:4:132",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7823:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "7823:3:132"
                            },
                            "nativeSrc": "7823:17:132",
                            "nodeType": "YulFunctionCall",
                            "src": "7823:17:132"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "7817:5:132",
                          "nodeType": "YulIdentifier",
                          "src": "7817:5:132"
                        },
                        "nativeSrc": "7817:24:132",
                        "nodeType": "YulFunctionCall",
                        "src": "7817:24:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7788:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "7788:6:132"
                    },
                    "nativeSrc": "7788:54:132",
                    "nodeType": "YulFunctionCall",
                    "src": "7788:54:132"
                  },
                  "nativeSrc": "7788:54:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "7788:54:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_PythPrice_$27001_memory_ptr__to_t_struct$_PythPrice_$27001_memory_ptr__fromStack_reversed",
            "nativeSrc": "7363:485:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7489:9:132",
                "nodeType": "YulTypedName",
                "src": "7489:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "7500:6:132",
                "nodeType": "YulTypedName",
                "src": "7500:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "7511:4:132",
                "nodeType": "YulTypedName",
                "src": "7511:4:132",
                "type": ""
              }
            ],
            "src": "7363:485:132"
          },
          {
            "body": {
              "nativeSrc": "8050:616:132",
              "nodeType": "YulBlock",
              "src": "8050:616:132",
              "statements": [
                {
                  "nativeSrc": "8060:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8060:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8078:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "8078:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8089:2:132",
                        "nodeType": "YulLiteral",
                        "src": "8089:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8074:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "8074:3:132"
                    },
                    "nativeSrc": "8074:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8074:18:132"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "8064:6:132",
                      "nodeType": "YulTypedName",
                      "src": "8064:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8108:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "8108:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8119:2:132",
                        "nodeType": "YulLiteral",
                        "src": "8119:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8101:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "8101:6:132"
                    },
                    "nativeSrc": "8101:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8101:21:132"
                  },
                  "nativeSrc": "8101:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "8101:21:132"
                },
                {
                  "nativeSrc": "8131:17:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8131:17:132",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "8142:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "8142:6:132"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "8135:3:132",
                      "nodeType": "YulTypedName",
                      "src": "8135:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8157:27:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8157:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "8177:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "8177:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8171:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "8171:5:132"
                    },
                    "nativeSrc": "8171:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8171:13:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "8161:6:132",
                      "nodeType": "YulTypedName",
                      "src": "8161:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "8200:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "8200:6:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "8208:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "8208:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8193:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "8193:6:132"
                    },
                    "nativeSrc": "8193:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8193:22:132"
                  },
                  "nativeSrc": "8193:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "8193:22:132"
                },
                {
                  "nativeSrc": "8224:25:132",
                  "nodeType": "YulAssignment",
                  "src": "8224:25:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8235:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "8235:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8246:2:132",
                        "nodeType": "YulLiteral",
                        "src": "8246:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8231:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "8231:3:132"
                    },
                    "nativeSrc": "8231:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8231:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "8224:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "8224:3:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "8258:53:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8258:53:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8280:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "8280:9:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8295:1:132",
                                "nodeType": "YulLiteral",
                                "src": "8295:1:132",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "8298:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "8298:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "8291:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "8291:3:132"
                            },
                            "nativeSrc": "8291:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "8291:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8276:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "8276:3:132"
                        },
                        "nativeSrc": "8276:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "8276:30:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8308:2:132",
                        "nodeType": "YulLiteral",
                        "src": "8308:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8272:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "8272:3:132"
                    },
                    "nativeSrc": "8272:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8272:39:132"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "8262:6:132",
                      "nodeType": "YulTypedName",
                      "src": "8262:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8320:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8320:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "8338:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "8338:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8346:2:132",
                        "nodeType": "YulLiteral",
                        "src": "8346:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8334:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "8334:3:132"
                    },
                    "nativeSrc": "8334:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8334:15:132"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "8324:6:132",
                      "nodeType": "YulTypedName",
                      "src": "8324:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8358:10:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8358:10:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "8367:1:132",
                    "nodeType": "YulLiteral",
                    "src": "8367:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "8362:1:132",
                      "nodeType": "YulTypedName",
                      "src": "8362:1:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8426:211:132",
                    "nodeType": "YulBlock",
                    "src": "8426:211:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "8447:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "8447:3:132"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "8460:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "8460:6:132"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "8468:9:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "8468:9:132"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "8456:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "8456:3:132"
                                  },
                                  "nativeSrc": "8456:22:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "8456:22:132"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "8484:2:132",
                                      "nodeType": "YulLiteral",
                                      "src": "8484:2:132",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "8480:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "8480:3:132"
                                  },
                                  "nativeSrc": "8480:7:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "8480:7:132"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "8452:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "8452:3:132"
                              },
                              "nativeSrc": "8452:36:132",
                              "nodeType": "YulFunctionCall",
                              "src": "8452:36:132"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "8440:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "8440:6:132"
                          },
                          "nativeSrc": "8440:49:132",
                          "nodeType": "YulFunctionCall",
                          "src": "8440:49:132"
                        },
                        "nativeSrc": "8440:49:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "8440:49:132"
                      },
                      {
                        "nativeSrc": "8502:55:132",
                        "nodeType": "YulAssignment",
                        "src": "8502:55:132",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "8541:6:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "8541:6:132"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "8535:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "8535:5:132"
                              },
                              "nativeSrc": "8535:13:132",
                              "nodeType": "YulFunctionCall",
                              "src": "8535:13:132"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "8550:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "8550:6:132"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_struct_Info",
                            "nativeSrc": "8512:22:132",
                            "nodeType": "YulIdentifier",
                            "src": "8512:22:132"
                          },
                          "nativeSrc": "8512:45:132",
                          "nodeType": "YulFunctionCall",
                          "src": "8512:45:132"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "8502:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "8502:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "8570:25:132",
                        "nodeType": "YulAssignment",
                        "src": "8570:25:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "8584:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "8584:6:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8592:2:132",
                              "nodeType": "YulLiteral",
                              "src": "8592:2:132",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "8580:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "8580:3:132"
                          },
                          "nativeSrc": "8580:15:132",
                          "nodeType": "YulFunctionCall",
                          "src": "8580:15:132"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "8570:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "8570:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "8608:19:132",
                        "nodeType": "YulAssignment",
                        "src": "8608:19:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "8619:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "8619:3:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8624:2:132",
                              "nodeType": "YulLiteral",
                              "src": "8624:2:132",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "8615:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "8615:3:132"
                          },
                          "nativeSrc": "8615:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "8615:12:132"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "8608:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "8608:3:132"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "8388:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "8388:1:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "8391:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "8391:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "8385:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "8385:2:132"
                    },
                    "nativeSrc": "8385:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8385:13:132"
                  },
                  "nativeSrc": "8377:260:132",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "8399:18:132",
                    "nodeType": "YulBlock",
                    "src": "8399:18:132",
                    "statements": [
                      {
                        "nativeSrc": "8401:14:132",
                        "nodeType": "YulAssignment",
                        "src": "8401:14:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "8410:1:132",
                              "nodeType": "YulIdentifier",
                              "src": "8410:1:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8413:1:132",
                              "nodeType": "YulLiteral",
                              "src": "8413:1:132",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "8406:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "8406:3:132"
                          },
                          "nativeSrc": "8406:9:132",
                          "nodeType": "YulFunctionCall",
                          "src": "8406:9:132"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "8401:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "8401:1:132"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "8381:3:132",
                    "nodeType": "YulBlock",
                    "src": "8381:3:132",
                    "statements": []
                  },
                  "src": "8377:260:132"
                },
                {
                  "nativeSrc": "8646:14:132",
                  "nodeType": "YulAssignment",
                  "src": "8646:14:132",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "8654:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "8654:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "8646:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "8646:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_Info_$25314_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Info_$25314_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "7853:813:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8019:9:132",
                "nodeType": "YulTypedName",
                "src": "8019:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8030:6:132",
                "nodeType": "YulTypedName",
                "src": "8030:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "8041:4:132",
                "nodeType": "YulTypedName",
                "src": "8041:4:132",
                "type": ""
              }
            ],
            "src": "7853:813:132"
          },
          {
            "body": {
              "nativeSrc": "8765:156:132",
              "nodeType": "YulBlock",
              "src": "8765:156:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8811:16:132",
                    "nodeType": "YulBlock",
                    "src": "8811:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8820:1:132",
                              "nodeType": "YulLiteral",
                              "src": "8820:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8823:1:132",
                              "nodeType": "YulLiteral",
                              "src": "8823:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8813:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "8813:6:132"
                          },
                          "nativeSrc": "8813:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "8813:12:132"
                        },
                        "nativeSrc": "8813:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "8813:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8786:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "8786:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8795:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "8795:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8782:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "8782:3:132"
                        },
                        "nativeSrc": "8782:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "8782:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8807:2:132",
                        "nodeType": "YulLiteral",
                        "src": "8807:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8778:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "8778:3:132"
                    },
                    "nativeSrc": "8778:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8778:32:132"
                  },
                  "nativeSrc": "8775:52:132",
                  "nodeType": "YulIf",
                  "src": "8775:52:132"
                },
                {
                  "nativeSrc": "8836:14:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8836:14:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "8849:1:132",
                    "nodeType": "YulLiteral",
                    "src": "8849:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "8840:5:132",
                      "nodeType": "YulTypedName",
                      "src": "8840:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8859:32:132",
                  "nodeType": "YulAssignment",
                  "src": "8859:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8881:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "8881:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8868:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "8868:12:132"
                    },
                    "nativeSrc": "8868:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8868:23:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "8859:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "8859:5:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "8900:15:132",
                  "nodeType": "YulAssignment",
                  "src": "8900:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "8910:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "8910:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8900:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "8900:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID_$26992",
            "nativeSrc": "8671:250:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8731:9:132",
                "nodeType": "YulTypedName",
                "src": "8731:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8742:7:132",
                "nodeType": "YulTypedName",
                "src": "8742:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8754:6:132",
                "nodeType": "YulTypedName",
                "src": "8754:6:132",
                "type": ""
              }
            ],
            "src": "8671:250:132"
          },
          {
            "body": {
              "nativeSrc": "8958:95:132",
              "nodeType": "YulBlock",
              "src": "8958:95:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8975:1:132",
                        "nodeType": "YulLiteral",
                        "src": "8975:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "8982:3:132",
                            "nodeType": "YulLiteral",
                            "src": "8982:3:132",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8987:10:132",
                            "nodeType": "YulLiteral",
                            "src": "8987:10:132",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "8978:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "8978:3:132"
                        },
                        "nativeSrc": "8978:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "8978:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8968:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "8968:6:132"
                    },
                    "nativeSrc": "8968:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "8968:31:132"
                  },
                  "nativeSrc": "8968:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "8968:31:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9015:1:132",
                        "nodeType": "YulLiteral",
                        "src": "9015:1:132",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9018:4:132",
                        "nodeType": "YulLiteral",
                        "src": "9018:4:132",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9008:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "9008:6:132"
                    },
                    "nativeSrc": "9008:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9008:15:132"
                  },
                  "nativeSrc": "9008:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "9008:15:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9039:1:132",
                        "nodeType": "YulLiteral",
                        "src": "9039:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9042:4:132",
                        "nodeType": "YulLiteral",
                        "src": "9042:4:132",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "9032:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "9032:6:132"
                    },
                    "nativeSrc": "9032:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9032:15:132"
                  },
                  "nativeSrc": "9032:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "9032:15:132"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "8926:127:132",
            "nodeType": "YulFunctionDefinition",
            "src": "8926:127:132"
          },
          {
            "body": {
              "nativeSrc": "9104:179:132",
              "nodeType": "YulBlock",
              "src": "9104:179:132",
              "statements": [
                {
                  "nativeSrc": "9114:35:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9114:35:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9136:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "9136:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9144:4:132",
                        "nodeType": "YulLiteral",
                        "src": "9144:4:132",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9132:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "9132:3:132"
                    },
                    "nativeSrc": "9132:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9132:17:132"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "9118:10:132",
                      "nodeType": "YulTypedName",
                      "src": "9118:10:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9224:22:132",
                    "nodeType": "YulBlock",
                    "src": "9224:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "9226:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "9226:16:132"
                          },
                          "nativeSrc": "9226:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "9226:18:132"
                        },
                        "nativeSrc": "9226:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "9226:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9167:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "9167:10:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9179:18:132",
                            "nodeType": "YulLiteral",
                            "src": "9179:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "9164:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "9164:2:132"
                        },
                        "nativeSrc": "9164:34:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9164:34:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9203:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "9203:10:132"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "9215:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "9215:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9200:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "9200:2:132"
                        },
                        "nativeSrc": "9200:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9200:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "9161:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "9161:2:132"
                    },
                    "nativeSrc": "9161:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9161:62:132"
                  },
                  "nativeSrc": "9158:88:132",
                  "nodeType": "YulIf",
                  "src": "9158:88:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9262:2:132",
                        "nodeType": "YulLiteral",
                        "src": "9262:2:132",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "9266:10:132",
                        "nodeType": "YulIdentifier",
                        "src": "9266:10:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9255:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "9255:6:132"
                    },
                    "nativeSrc": "9255:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9255:22:132"
                  },
                  "nativeSrc": "9255:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "9255:22:132"
                }
              ]
            },
            "name": "finalize_allocation_6391",
            "nativeSrc": "9058:225:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "9092:6:132",
                "nodeType": "YulTypedName",
                "src": "9092:6:132",
                "type": ""
              }
            ],
            "src": "9058:225:132"
          },
          {
            "body": {
              "nativeSrc": "9334:177:132",
              "nodeType": "YulBlock",
              "src": "9334:177:132",
              "statements": [
                {
                  "nativeSrc": "9344:33:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9344:33:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9366:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "9366:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9374:2:132",
                        "nodeType": "YulLiteral",
                        "src": "9374:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9362:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "9362:3:132"
                    },
                    "nativeSrc": "9362:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9362:15:132"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "9348:10:132",
                      "nodeType": "YulTypedName",
                      "src": "9348:10:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9452:22:132",
                    "nodeType": "YulBlock",
                    "src": "9452:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "9454:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "9454:16:132"
                          },
                          "nativeSrc": "9454:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "9454:18:132"
                        },
                        "nativeSrc": "9454:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "9454:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9395:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "9395:10:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9407:18:132",
                            "nodeType": "YulLiteral",
                            "src": "9407:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "9392:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "9392:2:132"
                        },
                        "nativeSrc": "9392:34:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9392:34:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9431:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "9431:10:132"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "9443:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "9443:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9428:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "9428:2:132"
                        },
                        "nativeSrc": "9428:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9428:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "9389:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "9389:2:132"
                    },
                    "nativeSrc": "9389:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9389:62:132"
                  },
                  "nativeSrc": "9386:88:132",
                  "nodeType": "YulIf",
                  "src": "9386:88:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9490:2:132",
                        "nodeType": "YulLiteral",
                        "src": "9490:2:132",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "9494:10:132",
                        "nodeType": "YulIdentifier",
                        "src": "9494:10:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9483:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "9483:6:132"
                    },
                    "nativeSrc": "9483:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9483:22:132"
                  },
                  "nativeSrc": "9483:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "9483:22:132"
                }
              ]
            },
            "name": "finalize_allocation_6392",
            "nativeSrc": "9288:223:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "9322:6:132",
                "nodeType": "YulTypedName",
                "src": "9322:6:132",
                "type": ""
              }
            ],
            "src": "9288:223:132"
          },
          {
            "body": {
              "nativeSrc": "9563:202:132",
              "nodeType": "YulBlock",
              "src": "9563:202:132",
              "statements": [
                {
                  "nativeSrc": "9573:58:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9573:58:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9595:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "9595:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "9611:4:132",
                                "nodeType": "YulIdentifier",
                                "src": "9611:4:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9617:2:132",
                                "nodeType": "YulLiteral",
                                "src": "9617:2:132",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9607:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "9607:3:132"
                            },
                            "nativeSrc": "9607:13:132",
                            "nodeType": "YulFunctionCall",
                            "src": "9607:13:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "9626:2:132",
                                "nodeType": "YulLiteral",
                                "src": "9626:2:132",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "9622:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "9622:3:132"
                            },
                            "nativeSrc": "9622:7:132",
                            "nodeType": "YulFunctionCall",
                            "src": "9622:7:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9603:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "9603:3:132"
                        },
                        "nativeSrc": "9603:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9603:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9591:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "9591:3:132"
                    },
                    "nativeSrc": "9591:40:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9591:40:132"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "9577:10:132",
                      "nodeType": "YulTypedName",
                      "src": "9577:10:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9706:22:132",
                    "nodeType": "YulBlock",
                    "src": "9706:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "9708:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "9708:16:132"
                          },
                          "nativeSrc": "9708:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "9708:18:132"
                        },
                        "nativeSrc": "9708:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "9708:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9649:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "9649:10:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9661:18:132",
                            "nodeType": "YulLiteral",
                            "src": "9661:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "9646:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "9646:2:132"
                        },
                        "nativeSrc": "9646:34:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9646:34:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9685:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "9685:10:132"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "9697:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "9697:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9682:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "9682:2:132"
                        },
                        "nativeSrc": "9682:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9682:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "9643:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "9643:2:132"
                    },
                    "nativeSrc": "9643:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9643:62:132"
                  },
                  "nativeSrc": "9640:88:132",
                  "nodeType": "YulIf",
                  "src": "9640:88:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9744:2:132",
                        "nodeType": "YulLiteral",
                        "src": "9744:2:132",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "9748:10:132",
                        "nodeType": "YulIdentifier",
                        "src": "9748:10:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9737:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "9737:6:132"
                    },
                    "nativeSrc": "9737:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9737:22:132"
                  },
                  "nativeSrc": "9737:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "9737:22:132"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "9516:249:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "9545:6:132",
                "nodeType": "YulTypedName",
                "src": "9545:6:132",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "9553:4:132",
                "nodeType": "YulTypedName",
                "src": "9553:4:132",
                "type": ""
              }
            ],
            "src": "9516:249:132"
          },
          {
            "body": {
              "nativeSrc": "9827:129:132",
              "nodeType": "YulBlock",
              "src": "9827:129:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9871:22:132",
                    "nodeType": "YulBlock",
                    "src": "9871:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "9873:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "9873:16:132"
                          },
                          "nativeSrc": "9873:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "9873:18:132"
                        },
                        "nativeSrc": "9873:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "9873:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "9843:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "9843:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9851:18:132",
                        "nodeType": "YulLiteral",
                        "src": "9851:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9840:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "9840:2:132"
                    },
                    "nativeSrc": "9840:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9840:30:132"
                  },
                  "nativeSrc": "9837:56:132",
                  "nodeType": "YulIf",
                  "src": "9837:56:132"
                },
                {
                  "nativeSrc": "9902:48:132",
                  "nodeType": "YulAssignment",
                  "src": "9902:48:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "9922:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "9922:6:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9930:2:132",
                                "nodeType": "YulLiteral",
                                "src": "9930:2:132",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9918:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "9918:3:132"
                            },
                            "nativeSrc": "9918:15:132",
                            "nodeType": "YulFunctionCall",
                            "src": "9918:15:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "9939:2:132",
                                "nodeType": "YulLiteral",
                                "src": "9939:2:132",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "9935:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "9935:3:132"
                            },
                            "nativeSrc": "9935:7:132",
                            "nodeType": "YulFunctionCall",
                            "src": "9935:7:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9914:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "9914:3:132"
                        },
                        "nativeSrc": "9914:29:132",
                        "nodeType": "YulFunctionCall",
                        "src": "9914:29:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9945:4:132",
                        "nodeType": "YulLiteral",
                        "src": "9945:4:132",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9910:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "9910:3:132"
                    },
                    "nativeSrc": "9910:40:132",
                    "nodeType": "YulFunctionCall",
                    "src": "9910:40:132"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "9902:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "9902:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "9770:186:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "9807:6:132",
                "nodeType": "YulTypedName",
                "src": "9807:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "9818:4:132",
                "nodeType": "YulTypedName",
                "src": "9818:4:132",
                "type": ""
              }
            ],
            "src": "9770:186:132"
          },
          {
            "body": {
              "nativeSrc": "10035:345:132",
              "nodeType": "YulBlock",
              "src": "10035:345:132",
              "statements": [
                {
                  "nativeSrc": "10045:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10045:45:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "10083:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10083:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "10055:27:132",
                      "nodeType": "YulIdentifier",
                      "src": "10055:27:132"
                    },
                    "nativeSrc": "10055:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10055:35:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "10049:2:132",
                      "nodeType": "YulTypedName",
                      "src": "10049:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10099:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10099:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "10119:2:132",
                        "nodeType": "YulLiteral",
                        "src": "10119:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "10113:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "10113:5:132"
                    },
                    "nativeSrc": "10113:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10113:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "10103:6:132",
                      "nodeType": "YulTypedName",
                      "src": "10103:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "10151:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10151:6:132"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "10159:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "10159:2:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "10131:19:132",
                      "nodeType": "YulIdentifier",
                      "src": "10131:19:132"
                    },
                    "nativeSrc": "10131:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10131:31:132"
                  },
                  "nativeSrc": "10131:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "10131:31:132"
                },
                {
                  "nativeSrc": "10171:15:132",
                  "nodeType": "YulAssignment",
                  "src": "10171:15:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "10180:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "10180:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "10171:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "10171:5:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "10202:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10202:6:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "10210:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10210:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10195:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "10195:6:132"
                    },
                    "nativeSrc": "10195:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10195:22:132"
                  },
                  "nativeSrc": "10195:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "10195:22:132"
                },
                {
                  "body": {
                    "nativeSrc": "10255:16:132",
                    "nodeType": "YulBlock",
                    "src": "10255:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10264:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10264:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10267:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10267:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10257:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10257:6:132"
                          },
                          "nativeSrc": "10257:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "10257:12:132"
                        },
                        "nativeSrc": "10257:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "10257:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "10236:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "10236:3:132"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "10241:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10241:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10232:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "10232:3:132"
                        },
                        "nativeSrc": "10232:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10232:16:132"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "10250:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "10250:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10229:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "10229:2:132"
                    },
                    "nativeSrc": "10229:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10229:25:132"
                  },
                  "nativeSrc": "10226:45:132",
                  "nodeType": "YulIf",
                  "src": "10226:45:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "10297:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10297:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10305:4:132",
                            "nodeType": "YulLiteral",
                            "src": "10305:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10293:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "10293:3:132"
                        },
                        "nativeSrc": "10293:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10293:17:132"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "10312:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "10312:3:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "10317:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10317:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "10280:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "10280:12:132"
                    },
                    "nativeSrc": "10280:44:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10280:44:132"
                  },
                  "nativeSrc": "10280:44:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "10280:44:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "10348:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "10348:6:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "10356:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "10356:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10344:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "10344:3:132"
                            },
                            "nativeSrc": "10344:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "10344:19:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10365:4:132",
                            "nodeType": "YulLiteral",
                            "src": "10365:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10340:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "10340:3:132"
                        },
                        "nativeSrc": "10340:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10340:30:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10372:1:132",
                        "nodeType": "YulLiteral",
                        "src": "10372:1:132",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10333:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "10333:6:132"
                    },
                    "nativeSrc": "10333:41:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10333:41:132"
                  },
                  "nativeSrc": "10333:41:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "10333:41:132"
                }
              ]
            },
            "name": "abi_decode_available_length_bytes",
            "nativeSrc": "9961:419:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "10004:3:132",
                "nodeType": "YulTypedName",
                "src": "10004:3:132",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "10009:6:132",
                "nodeType": "YulTypedName",
                "src": "10009:6:132",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "10017:3:132",
                "nodeType": "YulTypedName",
                "src": "10017:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "10025:5:132",
                "nodeType": "YulTypedName",
                "src": "10025:5:132",
                "type": ""
              }
            ],
            "src": "9961:419:132"
          },
          {
            "body": {
              "nativeSrc": "10464:370:132",
              "nodeType": "YulBlock",
              "src": "10464:370:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10510:16:132",
                    "nodeType": "YulBlock",
                    "src": "10510:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10519:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10519:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10522:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10522:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10512:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10512:6:132"
                          },
                          "nativeSrc": "10512:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "10512:12:132"
                        },
                        "nativeSrc": "10512:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "10512:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "10485:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "10485:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "10494:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "10494:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "10481:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "10481:3:132"
                        },
                        "nativeSrc": "10481:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10481:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10506:2:132",
                        "nodeType": "YulLiteral",
                        "src": "10506:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "10477:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "10477:3:132"
                    },
                    "nativeSrc": "10477:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10477:32:132"
                  },
                  "nativeSrc": "10474:52:132",
                  "nodeType": "YulIf",
                  "src": "10474:52:132"
                },
                {
                  "nativeSrc": "10535:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10535:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10562:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "10562:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10549:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "10549:12:132"
                    },
                    "nativeSrc": "10549:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10549:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "10539:6:132",
                      "nodeType": "YulTypedName",
                      "src": "10539:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10615:16:132",
                    "nodeType": "YulBlock",
                    "src": "10615:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10624:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10624:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10627:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10627:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10617:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10617:6:132"
                          },
                          "nativeSrc": "10617:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "10617:12:132"
                        },
                        "nativeSrc": "10617:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "10617:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "10587:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10587:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10595:18:132",
                        "nodeType": "YulLiteral",
                        "src": "10595:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10584:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "10584:2:132"
                    },
                    "nativeSrc": "10584:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10584:30:132"
                  },
                  "nativeSrc": "10581:50:132",
                  "nodeType": "YulIf",
                  "src": "10581:50:132"
                },
                {
                  "nativeSrc": "10640:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10640:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10654:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "10654:9:132"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "10665:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "10665:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10650:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "10650:3:132"
                    },
                    "nativeSrc": "10650:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10650:22:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "10644:2:132",
                      "nodeType": "YulTypedName",
                      "src": "10644:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10720:16:132",
                    "nodeType": "YulBlock",
                    "src": "10720:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10729:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10729:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10732:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10732:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10722:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10722:6:132"
                          },
                          "nativeSrc": "10722:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "10722:12:132"
                        },
                        "nativeSrc": "10722:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "10722:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "10699:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "10699:2:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10703:4:132",
                                "nodeType": "YulLiteral",
                                "src": "10703:4:132",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10695:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "10695:3:132"
                            },
                            "nativeSrc": "10695:13:132",
                            "nodeType": "YulFunctionCall",
                            "src": "10695:13:132"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "10710:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "10710:7:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "10691:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "10691:3:132"
                        },
                        "nativeSrc": "10691:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10691:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "10684:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "10684:6:132"
                    },
                    "nativeSrc": "10684:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10684:35:132"
                  },
                  "nativeSrc": "10681:55:132",
                  "nodeType": "YulIf",
                  "src": "10681:55:132"
                },
                {
                  "nativeSrc": "10745:83:132",
                  "nodeType": "YulAssignment",
                  "src": "10745:83:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "10793:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "10793:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10797:2:132",
                            "nodeType": "YulLiteral",
                            "src": "10797:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10789:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "10789:3:132"
                        },
                        "nativeSrc": "10789:11:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10789:11:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "10815:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "10815:2:132"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "10802:12:132",
                          "nodeType": "YulIdentifier",
                          "src": "10802:12:132"
                        },
                        "nativeSrc": "10802:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10802:16:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "10820:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "10820:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "10755:33:132",
                      "nodeType": "YulIdentifier",
                      "src": "10755:33:132"
                    },
                    "nativeSrc": "10755:73:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10755:73:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "10745:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "10745:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "10385:449:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10430:9:132",
                "nodeType": "YulTypedName",
                "src": "10430:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "10441:7:132",
                "nodeType": "YulTypedName",
                "src": "10441:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "10453:6:132",
                "nodeType": "YulTypedName",
                "src": "10453:6:132",
                "type": ""
              }
            ],
            "src": "10385:449:132"
          },
          {
            "body": {
              "nativeSrc": "10881:76:132",
              "nodeType": "YulBlock",
              "src": "10881:76:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10935:16:132",
                    "nodeType": "YulBlock",
                    "src": "10935:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10944:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10944:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10947:1:132",
                              "nodeType": "YulLiteral",
                              "src": "10947:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10937:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "10937:6:132"
                          },
                          "nativeSrc": "10937:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "10937:12:132"
                        },
                        "nativeSrc": "10937:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "10937:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "10904:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "10904:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "10925:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "10925:5:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "10918:6:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "10918:6:132"
                                },
                                "nativeSrc": "10918:13:132",
                                "nodeType": "YulFunctionCall",
                                "src": "10918:13:132"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "10911:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "10911:6:132"
                            },
                            "nativeSrc": "10911:21:132",
                            "nodeType": "YulFunctionCall",
                            "src": "10911:21:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "10901:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "10901:2:132"
                        },
                        "nativeSrc": "10901:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "10901:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "10894:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "10894:6:132"
                    },
                    "nativeSrc": "10894:40:132",
                    "nodeType": "YulFunctionCall",
                    "src": "10894:40:132"
                  },
                  "nativeSrc": "10891:60:132",
                  "nodeType": "YulIf",
                  "src": "10891:60:132"
                }
              ]
            },
            "name": "validator_revert_bool",
            "nativeSrc": "10839:118:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "10870:5:132",
                "nodeType": "YulTypedName",
                "src": "10870:5:132",
                "type": ""
              }
            ],
            "src": "10839:118:132"
          },
          {
            "body": {
              "nativeSrc": "11066:435:132",
              "nodeType": "YulBlock",
              "src": "11066:435:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11112:16:132",
                    "nodeType": "YulBlock",
                    "src": "11112:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11121:1:132",
                              "nodeType": "YulLiteral",
                              "src": "11121:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11124:1:132",
                              "nodeType": "YulLiteral",
                              "src": "11124:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11114:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "11114:6:132"
                          },
                          "nativeSrc": "11114:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "11114:12:132"
                        },
                        "nativeSrc": "11114:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "11114:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "11087:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "11087:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "11096:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "11096:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "11083:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "11083:3:132"
                        },
                        "nativeSrc": "11083:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "11083:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11108:2:132",
                        "nodeType": "YulLiteral",
                        "src": "11108:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "11079:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "11079:3:132"
                    },
                    "nativeSrc": "11079:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11079:32:132"
                  },
                  "nativeSrc": "11076:52:132",
                  "nodeType": "YulIf",
                  "src": "11076:52:132"
                },
                {
                  "nativeSrc": "11137:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11137:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11164:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "11164:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11151:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "11151:12:132"
                    },
                    "nativeSrc": "11151:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11151:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "11141:6:132",
                      "nodeType": "YulTypedName",
                      "src": "11141:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11217:16:132",
                    "nodeType": "YulBlock",
                    "src": "11217:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11226:1:132",
                              "nodeType": "YulLiteral",
                              "src": "11226:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11229:1:132",
                              "nodeType": "YulLiteral",
                              "src": "11229:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11219:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "11219:6:132"
                          },
                          "nativeSrc": "11219:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "11219:12:132"
                        },
                        "nativeSrc": "11219:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "11219:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "11189:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "11189:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11197:18:132",
                        "nodeType": "YulLiteral",
                        "src": "11197:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11186:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "11186:2:132"
                    },
                    "nativeSrc": "11186:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11186:30:132"
                  },
                  "nativeSrc": "11183:50:132",
                  "nodeType": "YulIf",
                  "src": "11183:50:132"
                },
                {
                  "nativeSrc": "11242:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11242:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11298:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "11298:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "11309:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "11309:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11294:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "11294:3:132"
                        },
                        "nativeSrc": "11294:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "11294:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "11318:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "11318:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "11268:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "11268:25:132"
                    },
                    "nativeSrc": "11268:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11268:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "11246:8:132",
                      "nodeType": "YulTypedName",
                      "src": "11246:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "11256:8:132",
                      "nodeType": "YulTypedName",
                      "src": "11256:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11335:18:132",
                  "nodeType": "YulAssignment",
                  "src": "11335:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "11345:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "11345:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "11335:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "11335:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "11362:18:132",
                  "nodeType": "YulAssignment",
                  "src": "11362:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "11372:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "11372:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "11362:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "11362:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "11389:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11389:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11419:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "11419:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11430:2:132",
                            "nodeType": "YulLiteral",
                            "src": "11430:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11415:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "11415:3:132"
                        },
                        "nativeSrc": "11415:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "11415:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11402:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "11402:12:132"
                    },
                    "nativeSrc": "11402:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11402:32:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "11393:5:132",
                      "nodeType": "YulTypedName",
                      "src": "11393:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "11465:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "11465:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bool",
                      "nativeSrc": "11443:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "11443:21:132"
                    },
                    "nativeSrc": "11443:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11443:28:132"
                  },
                  "nativeSrc": "11443:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "11443:28:132"
                },
                {
                  "nativeSrc": "11480:15:132",
                  "nodeType": "YulAssignment",
                  "src": "11480:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "11490:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "11490:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "11480:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "11480:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_bool",
            "nativeSrc": "10962:539:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11016:9:132",
                "nodeType": "YulTypedName",
                "src": "11016:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "11027:7:132",
                "nodeType": "YulTypedName",
                "src": "11027:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "11039:6:132",
                "nodeType": "YulTypedName",
                "src": "11039:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "11047:6:132",
                "nodeType": "YulTypedName",
                "src": "11047:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "11055:6:132",
                "nodeType": "YulTypedName",
                "src": "11055:6:132",
                "type": ""
              }
            ],
            "src": "10962:539:132"
          },
          {
            "body": {
              "nativeSrc": "11605:103:132",
              "nodeType": "YulBlock",
              "src": "11605:103:132",
              "statements": [
                {
                  "nativeSrc": "11615:26:132",
                  "nodeType": "YulAssignment",
                  "src": "11615:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11627:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "11627:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11638:2:132",
                        "nodeType": "YulLiteral",
                        "src": "11638:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11623:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "11623:3:132"
                    },
                    "nativeSrc": "11623:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11623:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11615:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "11615:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11657:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "11657:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "11672:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "11672:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "11684:3:132",
                                "nodeType": "YulLiteral",
                                "src": "11684:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "11689:10:132",
                                "nodeType": "YulLiteral",
                                "src": "11689:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "11680:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "11680:3:132"
                            },
                            "nativeSrc": "11680:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "11680:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "11668:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "11668:3:132"
                        },
                        "nativeSrc": "11668:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "11668:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11650:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "11650:6:132"
                    },
                    "nativeSrc": "11650:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11650:52:132"
                  },
                  "nativeSrc": "11650:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "11650:52:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "11506:202:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11574:9:132",
                "nodeType": "YulTypedName",
                "src": "11574:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11585:6:132",
                "nodeType": "YulTypedName",
                "src": "11585:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11596:4:132",
                "nodeType": "YulTypedName",
                "src": "11596:4:132",
                "type": ""
              }
            ],
            "src": "11506:202:132"
          },
          {
            "body": {
              "nativeSrc": "11814:76:132",
              "nodeType": "YulBlock",
              "src": "11814:76:132",
              "statements": [
                {
                  "nativeSrc": "11824:26:132",
                  "nodeType": "YulAssignment",
                  "src": "11824:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11836:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "11836:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11847:2:132",
                        "nodeType": "YulLiteral",
                        "src": "11847:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11832:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "11832:3:132"
                    },
                    "nativeSrc": "11832:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11832:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11824:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "11824:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11866:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "11866:9:132"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "11877:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "11877:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11859:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "11859:6:132"
                    },
                    "nativeSrc": "11859:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "11859:25:132"
                  },
                  "nativeSrc": "11859:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "11859:25:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "11713:177:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11783:9:132",
                "nodeType": "YulTypedName",
                "src": "11783:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11794:6:132",
                "nodeType": "YulTypedName",
                "src": "11794:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11805:4:132",
                "nodeType": "YulTypedName",
                "src": "11805:4:132",
                "type": ""
              }
            ],
            "src": "11713:177:132"
          },
          {
            "body": {
              "nativeSrc": "12016:110:132",
              "nodeType": "YulBlock",
              "src": "12016:110:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12033:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "12033:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12044:2:132",
                        "nodeType": "YulLiteral",
                        "src": "12044:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12026:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12026:6:132"
                    },
                    "nativeSrc": "12026:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12026:21:132"
                  },
                  "nativeSrc": "12026:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "12026:21:132"
                },
                {
                  "nativeSrc": "12056:64:132",
                  "nodeType": "YulAssignment",
                  "src": "12056:64:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12093:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "12093:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12105:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "12105:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12116:2:132",
                            "nodeType": "YulLiteral",
                            "src": "12116:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12101:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "12101:3:132"
                        },
                        "nativeSrc": "12101:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12101:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "12064:28:132",
                      "nodeType": "YulIdentifier",
                      "src": "12064:28:132"
                    },
                    "nativeSrc": "12064:56:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12064:56:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "12056:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "12056:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "11895:231:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11985:9:132",
                "nodeType": "YulTypedName",
                "src": "11985:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11996:6:132",
                "nodeType": "YulTypedName",
                "src": "11996:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12007:4:132",
                "nodeType": "YulTypedName",
                "src": "12007:4:132",
                "type": ""
              }
            ],
            "src": "11895:231:132"
          },
          {
            "body": {
              "nativeSrc": "12173:75:132",
              "nodeType": "YulBlock",
              "src": "12173:75:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12226:16:132",
                    "nodeType": "YulBlock",
                    "src": "12226:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12235:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12235:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12238:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12238:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12228:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "12228:6:132"
                          },
                          "nativeSrc": "12228:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "12228:12:132"
                        },
                        "nativeSrc": "12228:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "12228:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "12196:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "12196:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "12214:1:132",
                                "nodeType": "YulLiteral",
                                "src": "12214:1:132",
                                "type": "",
                                "value": "0"
                              },
                              {
                                "name": "value",
                                "nativeSrc": "12217:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "12217:5:132"
                              }
                            ],
                            "functionName": {
                              "name": "signextend",
                              "nativeSrc": "12203:10:132",
                              "nodeType": "YulIdentifier",
                              "src": "12203:10:132"
                            },
                            "nativeSrc": "12203:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "12203:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "12193:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "12193:2:132"
                        },
                        "nativeSrc": "12193:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12193:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12186:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12186:6:132"
                    },
                    "nativeSrc": "12186:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12186:39:132"
                  },
                  "nativeSrc": "12183:59:132",
                  "nodeType": "YulIf",
                  "src": "12183:59:132"
                }
              ]
            },
            "name": "validator_revert_int8",
            "nativeSrc": "12131:117:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "12162:5:132",
                "nodeType": "YulTypedName",
                "src": "12162:5:132",
                "type": ""
              }
            ],
            "src": "12131:117:132"
          },
          {
            "body": {
              "nativeSrc": "12451:1021:132",
              "nodeType": "YulBlock",
              "src": "12451:1021:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12498:16:132",
                    "nodeType": "YulBlock",
                    "src": "12498:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12507:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12507:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12510:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12510:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12500:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "12500:6:132"
                          },
                          "nativeSrc": "12500:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "12500:12:132"
                        },
                        "nativeSrc": "12500:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "12500:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12472:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "12472:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12481:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "12481:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12468:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "12468:3:132"
                        },
                        "nativeSrc": "12468:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12468:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12493:3:132",
                        "nodeType": "YulLiteral",
                        "src": "12493:3:132",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12464:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "12464:3:132"
                    },
                    "nativeSrc": "12464:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12464:33:132"
                  },
                  "nativeSrc": "12461:53:132",
                  "nodeType": "YulIf",
                  "src": "12461:53:132"
                },
                {
                  "nativeSrc": "12523:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12523:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12550:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "12550:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12537:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "12537:12:132"
                    },
                    "nativeSrc": "12537:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12537:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12527:6:132",
                      "nodeType": "YulTypedName",
                      "src": "12527:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12603:16:132",
                    "nodeType": "YulBlock",
                    "src": "12603:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12612:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12612:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12615:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12615:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12605:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "12605:6:132"
                          },
                          "nativeSrc": "12605:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "12605:12:132"
                        },
                        "nativeSrc": "12605:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "12605:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12575:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "12575:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12583:18:132",
                        "nodeType": "YulLiteral",
                        "src": "12583:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12572:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "12572:2:132"
                    },
                    "nativeSrc": "12572:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12572:30:132"
                  },
                  "nativeSrc": "12569:50:132",
                  "nodeType": "YulIf",
                  "src": "12569:50:132"
                },
                {
                  "nativeSrc": "12628:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12628:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12684:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "12684:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "12695:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "12695:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12680:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "12680:3:132"
                        },
                        "nativeSrc": "12680:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12680:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12704:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "12704:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "12654:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "12654:25:132"
                    },
                    "nativeSrc": "12654:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12654:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "12632:8:132",
                      "nodeType": "YulTypedName",
                      "src": "12632:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "12642:8:132",
                      "nodeType": "YulTypedName",
                      "src": "12642:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12721:18:132",
                  "nodeType": "YulAssignment",
                  "src": "12721:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "12731:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "12731:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12721:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12721:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "12748:18:132",
                  "nodeType": "YulAssignment",
                  "src": "12748:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "12758:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "12758:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "12748:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12748:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "12775:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12775:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12805:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "12805:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12816:2:132",
                            "nodeType": "YulLiteral",
                            "src": "12816:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12801:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "12801:3:132"
                        },
                        "nativeSrc": "12801:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12801:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12788:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "12788:12:132"
                    },
                    "nativeSrc": "12788:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12788:32:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "12779:5:132",
                      "nodeType": "YulTypedName",
                      "src": "12779:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "12851:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "12851:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "12829:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "12829:21:132"
                    },
                    "nativeSrc": "12829:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12829:28:132"
                  },
                  "nativeSrc": "12829:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "12829:28:132"
                },
                {
                  "nativeSrc": "12866:15:132",
                  "nodeType": "YulAssignment",
                  "src": "12866:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "12876:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "12876:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "12866:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12866:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "12890:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12890:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12922:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "12922:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12933:2:132",
                            "nodeType": "YulLiteral",
                            "src": "12933:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12918:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "12918:3:132"
                        },
                        "nativeSrc": "12918:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12918:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12905:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "12905:12:132"
                    },
                    "nativeSrc": "12905:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12905:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "12894:7:132",
                      "nodeType": "YulTypedName",
                      "src": "12894:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12972:16:132",
                    "nodeType": "YulBlock",
                    "src": "12972:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12981:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12981:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12984:1:132",
                              "nodeType": "YulLiteral",
                              "src": "12984:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12974:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "12974:6:132"
                          },
                          "nativeSrc": "12974:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "12974:12:132"
                        },
                        "nativeSrc": "12974:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "12974:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "12959:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "12959:7:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12968:1:132",
                            "nodeType": "YulLiteral",
                            "src": "12968:1:132",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "12956:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "12956:2:132"
                        },
                        "nativeSrc": "12956:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "12956:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12949:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12949:6:132"
                    },
                    "nativeSrc": "12949:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "12949:22:132"
                  },
                  "nativeSrc": "12946:42:132",
                  "nodeType": "YulIf",
                  "src": "12946:42:132"
                },
                {
                  "nativeSrc": "12997:17:132",
                  "nodeType": "YulAssignment",
                  "src": "12997:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "13007:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "13007:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "12997:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "12997:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "13023:48:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13023:48:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13056:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "13056:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13067:2:132",
                            "nodeType": "YulLiteral",
                            "src": "13067:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13052:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "13052:3:132"
                        },
                        "nativeSrc": "13052:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "13052:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13039:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "13039:12:132"
                    },
                    "nativeSrc": "13039:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13039:32:132"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "13027:8:132",
                      "nodeType": "YulTypedName",
                      "src": "13027:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13116:16:132",
                    "nodeType": "YulBlock",
                    "src": "13116:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13125:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13125:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13128:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13128:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13118:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13118:6:132"
                          },
                          "nativeSrc": "13118:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "13118:12:132"
                        },
                        "nativeSrc": "13118:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "13118:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "13086:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "13086:8:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13096:18:132",
                        "nodeType": "YulLiteral",
                        "src": "13096:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13083:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "13083:2:132"
                    },
                    "nativeSrc": "13083:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13083:32:132"
                  },
                  "nativeSrc": "13080:52:132",
                  "nodeType": "YulIf",
                  "src": "13080:52:132"
                },
                {
                  "nativeSrc": "13141:34:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13141:34:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13155:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "13155:9:132"
                      },
                      {
                        "name": "offset_1",
                        "nativeSrc": "13166:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "13166:8:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13151:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "13151:3:132"
                    },
                    "nativeSrc": "13151:24:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13151:24:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "13145:2:132",
                      "nodeType": "YulTypedName",
                      "src": "13145:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13223:16:132",
                    "nodeType": "YulBlock",
                    "src": "13223:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13232:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13232:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13235:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13235:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13225:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13225:6:132"
                          },
                          "nativeSrc": "13225:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "13225:12:132"
                        },
                        "nativeSrc": "13225:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "13225:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "13202:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "13202:2:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13206:4:132",
                                "nodeType": "YulLiteral",
                                "src": "13206:4:132",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "13198:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "13198:3:132"
                            },
                            "nativeSrc": "13198:13:132",
                            "nodeType": "YulFunctionCall",
                            "src": "13198:13:132"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13213:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "13213:7:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "13194:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "13194:3:132"
                        },
                        "nativeSrc": "13194:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "13194:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13187:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "13187:6:132"
                    },
                    "nativeSrc": "13187:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13187:35:132"
                  },
                  "nativeSrc": "13184:55:132",
                  "nodeType": "YulIf",
                  "src": "13184:55:132"
                },
                {
                  "nativeSrc": "13248:30:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13248:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "13275:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "13275:2:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13262:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "13262:12:132"
                    },
                    "nativeSrc": "13262:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13262:16:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "13252:6:132",
                      "nodeType": "YulTypedName",
                      "src": "13252:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13321:16:132",
                    "nodeType": "YulBlock",
                    "src": "13321:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13330:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13330:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13333:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13333:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13323:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13323:6:132"
                          },
                          "nativeSrc": "13323:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "13323:12:132"
                        },
                        "nativeSrc": "13323:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "13323:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "13293:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "13293:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13301:18:132",
                        "nodeType": "YulLiteral",
                        "src": "13301:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13290:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "13290:2:132"
                    },
                    "nativeSrc": "13290:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13290:30:132"
                  },
                  "nativeSrc": "13287:50:132",
                  "nodeType": "YulIf",
                  "src": "13287:50:132"
                },
                {
                  "body": {
                    "nativeSrc": "13395:16:132",
                    "nodeType": "YulBlock",
                    "src": "13395:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13404:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13404:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13407:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13407:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13397:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13397:6:132"
                          },
                          "nativeSrc": "13397:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "13397:12:132"
                        },
                        "nativeSrc": "13397:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "13397:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "13360:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "13360:2:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13368:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "13368:1:132",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "13371:6:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "13371:6:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "13364:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "13364:3:132"
                                },
                                "nativeSrc": "13364:14:132",
                                "nodeType": "YulFunctionCall",
                                "src": "13364:14:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "13356:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "13356:3:132"
                            },
                            "nativeSrc": "13356:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "13356:23:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13381:2:132",
                            "nodeType": "YulLiteral",
                            "src": "13381:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13352:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "13352:3:132"
                        },
                        "nativeSrc": "13352:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "13352:32:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "13386:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "13386:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13349:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "13349:2:132"
                    },
                    "nativeSrc": "13349:45:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13349:45:132"
                  },
                  "nativeSrc": "13346:65:132",
                  "nodeType": "YulIf",
                  "src": "13346:65:132"
                },
                {
                  "nativeSrc": "13420:21:132",
                  "nodeType": "YulAssignment",
                  "src": "13420:21:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "13434:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "13434:2:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13438:2:132",
                        "nodeType": "YulLiteral",
                        "src": "13438:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13430:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "13430:3:132"
                    },
                    "nativeSrc": "13430:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13430:11:132"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "13420:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "13420:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "13450:16:132",
                  "nodeType": "YulAssignment",
                  "src": "13450:16:132",
                  "value": {
                    "name": "length",
                    "nativeSrc": "13460:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "13460:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "13450:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "13450:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Mappers_$25259t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "12253:1219:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12377:9:132",
                "nodeType": "YulTypedName",
                "src": "12377:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12388:7:132",
                "nodeType": "YulTypedName",
                "src": "12388:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12400:6:132",
                "nodeType": "YulTypedName",
                "src": "12400:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12408:6:132",
                "nodeType": "YulTypedName",
                "src": "12408:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12416:6:132",
                "nodeType": "YulTypedName",
                "src": "12416:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "12424:6:132",
                "nodeType": "YulTypedName",
                "src": "12424:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "12432:6:132",
                "nodeType": "YulTypedName",
                "src": "12432:6:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "12440:6:132",
                "nodeType": "YulTypedName",
                "src": "12440:6:132",
                "type": ""
              }
            ],
            "src": "12253:1219:132"
          },
          {
            "body": {
              "nativeSrc": "13617:702:132",
              "nodeType": "YulBlock",
              "src": "13617:702:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13663:16:132",
                    "nodeType": "YulBlock",
                    "src": "13663:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13672:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13672:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13675:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13675:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13665:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13665:6:132"
                          },
                          "nativeSrc": "13665:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "13665:12:132"
                        },
                        "nativeSrc": "13665:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "13665:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13638:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "13638:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13647:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "13647:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13634:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "13634:3:132"
                        },
                        "nativeSrc": "13634:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "13634:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13659:2:132",
                        "nodeType": "YulLiteral",
                        "src": "13659:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13630:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "13630:3:132"
                    },
                    "nativeSrc": "13630:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13630:32:132"
                  },
                  "nativeSrc": "13627:52:132",
                  "nodeType": "YulIf",
                  "src": "13627:52:132"
                },
                {
                  "nativeSrc": "13688:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13688:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13715:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "13715:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13702:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "13702:12:132"
                    },
                    "nativeSrc": "13702:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13702:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "13692:6:132",
                      "nodeType": "YulTypedName",
                      "src": "13692:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13768:16:132",
                    "nodeType": "YulBlock",
                    "src": "13768:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13777:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13777:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13780:1:132",
                              "nodeType": "YulLiteral",
                              "src": "13780:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13770:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13770:6:132"
                          },
                          "nativeSrc": "13770:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "13770:12:132"
                        },
                        "nativeSrc": "13770:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "13770:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "13740:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "13740:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13748:18:132",
                        "nodeType": "YulLiteral",
                        "src": "13748:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13737:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "13737:2:132"
                    },
                    "nativeSrc": "13737:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13737:30:132"
                  },
                  "nativeSrc": "13734:50:132",
                  "nodeType": "YulIf",
                  "src": "13734:50:132"
                },
                {
                  "nativeSrc": "13793:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13793:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13849:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "13849:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "13860:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "13860:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13845:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "13845:3:132"
                        },
                        "nativeSrc": "13845:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "13845:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "13869:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "13869:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "13819:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "13819:25:132"
                    },
                    "nativeSrc": "13819:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13819:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "13797:8:132",
                      "nodeType": "YulTypedName",
                      "src": "13797:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "13807:8:132",
                      "nodeType": "YulTypedName",
                      "src": "13807:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13886:18:132",
                  "nodeType": "YulAssignment",
                  "src": "13886:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "13896:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "13896:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13886:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "13886:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "13913:18:132",
                  "nodeType": "YulAssignment",
                  "src": "13913:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "13923:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "13923:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "13913:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "13913:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "13940:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13940:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13970:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "13970:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13981:2:132",
                            "nodeType": "YulLiteral",
                            "src": "13981:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13966:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "13966:3:132"
                        },
                        "nativeSrc": "13966:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "13966:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13953:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "13953:12:132"
                    },
                    "nativeSrc": "13953:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13953:32:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13944:5:132",
                      "nodeType": "YulTypedName",
                      "src": "13944:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "14016:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "14016:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "13994:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "13994:21:132"
                    },
                    "nativeSrc": "13994:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "13994:28:132"
                  },
                  "nativeSrc": "13994:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "13994:28:132"
                },
                {
                  "nativeSrc": "14031:15:132",
                  "nodeType": "YulAssignment",
                  "src": "14031:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "14041:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "14041:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "14031:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "14031:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "14055:48:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14055:48:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14088:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "14088:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14099:2:132",
                            "nodeType": "YulLiteral",
                            "src": "14099:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14084:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "14084:3:132"
                        },
                        "nativeSrc": "14084:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "14084:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14071:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "14071:12:132"
                    },
                    "nativeSrc": "14071:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14071:32:132"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "14059:8:132",
                      "nodeType": "YulTypedName",
                      "src": "14059:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14148:16:132",
                    "nodeType": "YulBlock",
                    "src": "14148:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14157:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14157:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14160:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14160:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14150:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "14150:6:132"
                          },
                          "nativeSrc": "14150:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "14150:12:132"
                        },
                        "nativeSrc": "14150:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "14150:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "14118:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "14118:8:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14128:18:132",
                        "nodeType": "YulLiteral",
                        "src": "14128:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14115:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "14115:2:132"
                    },
                    "nativeSrc": "14115:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14115:32:132"
                  },
                  "nativeSrc": "14112:52:132",
                  "nodeType": "YulIf",
                  "src": "14112:52:132"
                },
                {
                  "nativeSrc": "14173:86:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14173:86:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14229:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "14229:9:132"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "14240:8:132",
                            "nodeType": "YulIdentifier",
                            "src": "14240:8:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14225:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "14225:3:132"
                        },
                        "nativeSrc": "14225:24:132",
                        "nodeType": "YulFunctionCall",
                        "src": "14225:24:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14251:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "14251:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "14199:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "14199:25:132"
                    },
                    "nativeSrc": "14199:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14199:60:132"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "14177:8:132",
                      "nodeType": "YulTypedName",
                      "src": "14177:8:132",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "14187:8:132",
                      "nodeType": "YulTypedName",
                      "src": "14187:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14268:18:132",
                  "nodeType": "YulAssignment",
                  "src": "14268:18:132",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "14278:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "14278:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "14268:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "14268:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "14295:18:132",
                  "nodeType": "YulAssignment",
                  "src": "14295:18:132",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "14305:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "14305:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "14295:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "14295:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_bytes_calldata_ptr",
            "nativeSrc": "13477:842:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13551:9:132",
                "nodeType": "YulTypedName",
                "src": "13551:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13562:7:132",
                "nodeType": "YulTypedName",
                "src": "13562:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13574:6:132",
                "nodeType": "YulTypedName",
                "src": "13574:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13582:6:132",
                "nodeType": "YulTypedName",
                "src": "13582:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "13590:6:132",
                "nodeType": "YulTypedName",
                "src": "13590:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "13598:6:132",
                "nodeType": "YulTypedName",
                "src": "13598:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "13606:6:132",
                "nodeType": "YulTypedName",
                "src": "13606:6:132",
                "type": ""
              }
            ],
            "src": "13477:842:132"
          },
          {
            "body": {
              "nativeSrc": "14369:86:132",
              "nodeType": "YulBlock",
              "src": "14369:86:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14433:16:132",
                    "nodeType": "YulBlock",
                    "src": "14433:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14442:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14442:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14445:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14445:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14435:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "14435:6:132"
                          },
                          "nativeSrc": "14435:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "14435:12:132"
                        },
                        "nativeSrc": "14435:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "14435:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "14392:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "14392:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "14403:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "14403:5:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "14418:3:132",
                                        "nodeType": "YulLiteral",
                                        "src": "14418:3:132",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "14423:1:132",
                                        "nodeType": "YulLiteral",
                                        "src": "14423:1:132",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "14414:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "14414:3:132"
                                    },
                                    "nativeSrc": "14414:11:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "14414:11:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "14427:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "14427:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "14410:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "14410:3:132"
                                },
                                "nativeSrc": "14410:19:132",
                                "nodeType": "YulFunctionCall",
                                "src": "14410:19:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "14399:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "14399:3:132"
                            },
                            "nativeSrc": "14399:31:132",
                            "nodeType": "YulFunctionCall",
                            "src": "14399:31:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "14389:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "14389:2:132"
                        },
                        "nativeSrc": "14389:42:132",
                        "nodeType": "YulFunctionCall",
                        "src": "14389:42:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "14382:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "14382:6:132"
                    },
                    "nativeSrc": "14382:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14382:50:132"
                  },
                  "nativeSrc": "14379:70:132",
                  "nodeType": "YulIf",
                  "src": "14379:70:132"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "14324:131:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "14358:5:132",
                "nodeType": "YulTypedName",
                "src": "14358:5:132",
                "type": ""
              }
            ],
            "src": "14324:131:132"
          },
          {
            "body": {
              "nativeSrc": "14530:177:132",
              "nodeType": "YulBlock",
              "src": "14530:177:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14576:16:132",
                    "nodeType": "YulBlock",
                    "src": "14576:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14585:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14585:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14588:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14588:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14578:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "14578:6:132"
                          },
                          "nativeSrc": "14578:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "14578:12:132"
                        },
                        "nativeSrc": "14578:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "14578:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14551:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "14551:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14560:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "14560:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14547:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "14547:3:132"
                        },
                        "nativeSrc": "14547:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "14547:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14572:2:132",
                        "nodeType": "YulLiteral",
                        "src": "14572:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14543:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "14543:3:132"
                    },
                    "nativeSrc": "14543:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14543:32:132"
                  },
                  "nativeSrc": "14540:52:132",
                  "nodeType": "YulIf",
                  "src": "14540:52:132"
                },
                {
                  "nativeSrc": "14601:36:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14601:36:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14627:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "14627:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14614:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "14614:12:132"
                    },
                    "nativeSrc": "14614:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14614:23:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "14605:5:132",
                      "nodeType": "YulTypedName",
                      "src": "14605:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "14671:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "14671:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "14646:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "14646:24:132"
                    },
                    "nativeSrc": "14646:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14646:31:132"
                  },
                  "nativeSrc": "14646:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "14646:31:132"
                },
                {
                  "nativeSrc": "14686:15:132",
                  "nodeType": "YulAssignment",
                  "src": "14686:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "14696:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "14696:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14686:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "14686:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "14460:247:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14496:9:132",
                "nodeType": "YulTypedName",
                "src": "14496:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14507:7:132",
                "nodeType": "YulTypedName",
                "src": "14507:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14519:6:132",
                "nodeType": "YulTypedName",
                "src": "14519:6:132",
                "type": ""
              }
            ],
            "src": "14460:247:132"
          },
          {
            "body": {
              "nativeSrc": "14853:557:132",
              "nodeType": "YulBlock",
              "src": "14853:557:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14899:16:132",
                    "nodeType": "YulBlock",
                    "src": "14899:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14908:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14908:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14911:1:132",
                              "nodeType": "YulLiteral",
                              "src": "14911:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14901:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "14901:6:132"
                          },
                          "nativeSrc": "14901:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "14901:12:132"
                        },
                        "nativeSrc": "14901:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "14901:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14874:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "14874:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14883:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "14883:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14870:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "14870:3:132"
                        },
                        "nativeSrc": "14870:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "14870:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14895:2:132",
                        "nodeType": "YulLiteral",
                        "src": "14895:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14866:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "14866:3:132"
                    },
                    "nativeSrc": "14866:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14866:32:132"
                  },
                  "nativeSrc": "14863:52:132",
                  "nodeType": "YulIf",
                  "src": "14863:52:132"
                },
                {
                  "nativeSrc": "14924:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14924:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14951:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "14951:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14938:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "14938:12:132"
                    },
                    "nativeSrc": "14938:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14938:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14928:6:132",
                      "nodeType": "YulTypedName",
                      "src": "14928:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15004:16:132",
                    "nodeType": "YulBlock",
                    "src": "15004:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15013:1:132",
                              "nodeType": "YulLiteral",
                              "src": "15013:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15016:1:132",
                              "nodeType": "YulLiteral",
                              "src": "15016:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15006:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "15006:6:132"
                          },
                          "nativeSrc": "15006:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "15006:12:132"
                        },
                        "nativeSrc": "15006:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "15006:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14976:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "14976:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14984:18:132",
                        "nodeType": "YulLiteral",
                        "src": "14984:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14973:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "14973:2:132"
                    },
                    "nativeSrc": "14973:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "14973:30:132"
                  },
                  "nativeSrc": "14970:50:132",
                  "nodeType": "YulIf",
                  "src": "14970:50:132"
                },
                {
                  "nativeSrc": "15029:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15029:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15043:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "15043:9:132"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "15054:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "15054:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15039:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "15039:3:132"
                    },
                    "nativeSrc": "15039:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15039:22:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "15033:2:132",
                      "nodeType": "YulTypedName",
                      "src": "15033:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15100:16:132",
                    "nodeType": "YulBlock",
                    "src": "15100:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15109:1:132",
                              "nodeType": "YulLiteral",
                              "src": "15109:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15112:1:132",
                              "nodeType": "YulLiteral",
                              "src": "15112:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15102:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "15102:6:132"
                          },
                          "nativeSrc": "15102:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "15102:12:132"
                        },
                        "nativeSrc": "15102:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "15102:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15081:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "15081:7:132"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "15090:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "15090:2:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15077:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "15077:3:132"
                        },
                        "nativeSrc": "15077:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "15077:16:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15095:3:132",
                        "nodeType": "YulLiteral",
                        "src": "15095:3:132",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15073:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "15073:3:132"
                    },
                    "nativeSrc": "15073:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15073:26:132"
                  },
                  "nativeSrc": "15070:46:132",
                  "nodeType": "YulIf",
                  "src": "15070:46:132"
                },
                {
                  "nativeSrc": "15125:12:132",
                  "nodeType": "YulAssignment",
                  "src": "15125:12:132",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "15135:2:132",
                    "nodeType": "YulIdentifier",
                    "src": "15135:2:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15125:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "15125:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "15146:48:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15146:48:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15179:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "15179:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15190:2:132",
                            "nodeType": "YulLiteral",
                            "src": "15190:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15175:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "15175:3:132"
                        },
                        "nativeSrc": "15175:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "15175:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15162:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "15162:12:132"
                    },
                    "nativeSrc": "15162:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15162:32:132"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "15150:8:132",
                      "nodeType": "YulTypedName",
                      "src": "15150:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15239:16:132",
                    "nodeType": "YulBlock",
                    "src": "15239:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15248:1:132",
                              "nodeType": "YulLiteral",
                              "src": "15248:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15251:1:132",
                              "nodeType": "YulLiteral",
                              "src": "15251:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15241:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "15241:6:132"
                          },
                          "nativeSrc": "15241:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "15241:12:132"
                        },
                        "nativeSrc": "15241:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "15241:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "15209:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "15209:8:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15219:18:132",
                        "nodeType": "YulLiteral",
                        "src": "15219:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15206:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "15206:2:132"
                    },
                    "nativeSrc": "15206:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15206:32:132"
                  },
                  "nativeSrc": "15203:52:132",
                  "nodeType": "YulIf",
                  "src": "15203:52:132"
                },
                {
                  "nativeSrc": "15264:86:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15264:86:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15320:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "15320:9:132"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "15331:8:132",
                            "nodeType": "YulIdentifier",
                            "src": "15331:8:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15316:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "15316:3:132"
                        },
                        "nativeSrc": "15316:24:132",
                        "nodeType": "YulFunctionCall",
                        "src": "15316:24:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15342:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "15342:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "15290:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "15290:25:132"
                    },
                    "nativeSrc": "15290:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15290:60:132"
                  },
                  "variables": [
                    {
                      "name": "value1_1",
                      "nativeSrc": "15268:8:132",
                      "nodeType": "YulTypedName",
                      "src": "15268:8:132",
                      "type": ""
                    },
                    {
                      "name": "value2_1",
                      "nativeSrc": "15278:8:132",
                      "nodeType": "YulTypedName",
                      "src": "15278:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15359:18:132",
                  "nodeType": "YulAssignment",
                  "src": "15359:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "15369:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "15369:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15359:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "15359:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "15386:18:132",
                  "nodeType": "YulAssignment",
                  "src": "15386:18:132",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "15396:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "15396:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "15386:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "15386:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataPushReport_$34705_calldata_ptrt_bytes_calldata_ptr",
            "nativeSrc": "14712:698:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14803:9:132",
                "nodeType": "YulTypedName",
                "src": "14803:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14814:7:132",
                "nodeType": "YulTypedName",
                "src": "14814:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14826:6:132",
                "nodeType": "YulTypedName",
                "src": "14826:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14834:6:132",
                "nodeType": "YulTypedName",
                "src": "14834:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14842:6:132",
                "nodeType": "YulTypedName",
                "src": "14842:6:132",
                "type": ""
              }
            ],
            "src": "14712:698:132"
          },
          {
            "body": {
              "nativeSrc": "15586:105:132",
              "nodeType": "YulBlock",
              "src": "15586:105:132",
              "statements": [
                {
                  "nativeSrc": "15596:27:132",
                  "nodeType": "YulAssignment",
                  "src": "15596:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15608:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "15608:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15619:3:132",
                        "nodeType": "YulLiteral",
                        "src": "15619:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15604:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "15604:3:132"
                    },
                    "nativeSrc": "15604:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15604:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15596:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "15596:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "15667:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "15667:6:132"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "15675:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "15675:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_UpdateConditions",
                      "nativeSrc": "15632:34:132",
                      "nodeType": "YulIdentifier",
                      "src": "15632:34:132"
                    },
                    "nativeSrc": "15632:53:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15632:53:132"
                  },
                  "nativeSrc": "15632:53:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "15632:53:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_UpdateConditions_$25342_memory_ptr__to_t_struct$_UpdateConditions_$25342_memory_ptr__fromStack_reversed",
            "nativeSrc": "15415:276:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15555:9:132",
                "nodeType": "YulTypedName",
                "src": "15555:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15566:6:132",
                "nodeType": "YulTypedName",
                "src": "15566:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15577:4:132",
                "nodeType": "YulTypedName",
                "src": "15577:4:132",
                "type": ""
              }
            ],
            "src": "15415:276:132"
          },
          {
            "body": {
              "nativeSrc": "15845:94:132",
              "nodeType": "YulBlock",
              "src": "15845:94:132",
              "statements": [
                {
                  "nativeSrc": "15855:27:132",
                  "nodeType": "YulAssignment",
                  "src": "15855:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15867:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "15867:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15878:3:132",
                        "nodeType": "YulLiteral",
                        "src": "15878:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15863:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "15863:3:132"
                    },
                    "nativeSrc": "15863:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15863:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15855:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "15855:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "15915:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "15915:6:132"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "15923:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "15923:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "15891:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "15891:23:132"
                    },
                    "nativeSrc": "15891:42:132",
                    "nodeType": "YulFunctionCall",
                    "src": "15891:42:132"
                  },
                  "nativeSrc": "15891:42:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "15891:42:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Price_$25294_memory_ptr__to_t_struct$_Price_$25294_memory_ptr__fromStack_reversed",
            "nativeSrc": "15696:243:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15814:9:132",
                "nodeType": "YulTypedName",
                "src": "15814:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15825:6:132",
                "nodeType": "YulTypedName",
                "src": "15825:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15836:4:132",
                "nodeType": "YulTypedName",
                "src": "15836:4:132",
                "type": ""
              }
            ],
            "src": "15696:243:132"
          },
          {
            "body": {
              "nativeSrc": "16023:86:132",
              "nodeType": "YulBlock",
              "src": "16023:86:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16063:16:132",
                    "nodeType": "YulBlock",
                    "src": "16063:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16072:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16072:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16075:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16075:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16065:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "16065:6:132"
                          },
                          "nativeSrc": "16065:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "16065:12:132"
                        },
                        "nativeSrc": "16065:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "16065:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "16044:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "16044:3:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16049:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "16049:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16040:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "16040:3:132"
                        },
                        "nativeSrc": "16040:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "16040:16:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16058:3:132",
                        "nodeType": "YulLiteral",
                        "src": "16058:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16036:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "16036:3:132"
                    },
                    "nativeSrc": "16036:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16036:26:132"
                  },
                  "nativeSrc": "16033:46:132",
                  "nodeType": "YulIf",
                  "src": "16033:46:132"
                },
                {
                  "nativeSrc": "16088:15:132",
                  "nodeType": "YulAssignment",
                  "src": "16088:15:132",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "16097:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "16097:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "16088:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "16088:5:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_UpdateConditions_calldata",
            "nativeSrc": "15944:165:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "15997:6:132",
                "nodeType": "YulTypedName",
                "src": "15997:6:132",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "16005:3:132",
                "nodeType": "YulTypedName",
                "src": "16005:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "16013:5:132",
                "nodeType": "YulTypedName",
                "src": "16013:5:132",
                "type": ""
              }
            ],
            "src": "15944:165:132"
          },
          {
            "body": {
              "nativeSrc": "16221:151:132",
              "nodeType": "YulBlock",
              "src": "16221:151:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16268:16:132",
                    "nodeType": "YulBlock",
                    "src": "16268:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16277:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16277:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16280:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16280:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16270:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "16270:6:132"
                          },
                          "nativeSrc": "16270:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "16270:12:132"
                        },
                        "nativeSrc": "16270:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "16270:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16242:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "16242:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16251:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "16251:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16238:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "16238:3:132"
                        },
                        "nativeSrc": "16238:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "16238:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16263:3:132",
                        "nodeType": "YulLiteral",
                        "src": "16263:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16234:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "16234:3:132"
                    },
                    "nativeSrc": "16234:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16234:33:132"
                  },
                  "nativeSrc": "16231:53:132",
                  "nodeType": "YulIf",
                  "src": "16231:53:132"
                },
                {
                  "nativeSrc": "16293:73:132",
                  "nodeType": "YulAssignment",
                  "src": "16293:73:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16347:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "16347:9:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16358:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "16358:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_calldata",
                      "nativeSrc": "16303:43:132",
                      "nodeType": "YulIdentifier",
                      "src": "16303:43:132"
                    },
                    "nativeSrc": "16303:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16303:63:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16293:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "16293:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_UpdateConditions_$25342_calldata_ptr",
            "nativeSrc": "16114:258:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16187:9:132",
                "nodeType": "YulTypedName",
                "src": "16187:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16198:7:132",
                "nodeType": "YulTypedName",
                "src": "16198:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16210:6:132",
                "nodeType": "YulTypedName",
                "src": "16210:6:132",
                "type": ""
              }
            ],
            "src": "16114:258:132"
          },
          {
            "body": {
              "nativeSrc": "16457:370:132",
              "nodeType": "YulBlock",
              "src": "16457:370:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16503:16:132",
                    "nodeType": "YulBlock",
                    "src": "16503:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16512:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16512:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16515:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16515:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16505:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "16505:6:132"
                          },
                          "nativeSrc": "16505:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "16505:12:132"
                        },
                        "nativeSrc": "16505:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "16505:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16478:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "16478:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16487:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "16487:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16474:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "16474:3:132"
                        },
                        "nativeSrc": "16474:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "16474:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16499:2:132",
                        "nodeType": "YulLiteral",
                        "src": "16499:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16470:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "16470:3:132"
                    },
                    "nativeSrc": "16470:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16470:32:132"
                  },
                  "nativeSrc": "16467:52:132",
                  "nodeType": "YulIf",
                  "src": "16467:52:132"
                },
                {
                  "nativeSrc": "16528:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16528:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16555:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "16555:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16542:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "16542:12:132"
                    },
                    "nativeSrc": "16542:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16542:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "16532:6:132",
                      "nodeType": "YulTypedName",
                      "src": "16532:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16608:16:132",
                    "nodeType": "YulBlock",
                    "src": "16608:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16617:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16617:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16620:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16620:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16610:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "16610:6:132"
                          },
                          "nativeSrc": "16610:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "16610:12:132"
                        },
                        "nativeSrc": "16610:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "16610:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16580:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "16580:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16588:18:132",
                        "nodeType": "YulLiteral",
                        "src": "16588:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16577:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "16577:2:132"
                    },
                    "nativeSrc": "16577:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16577:30:132"
                  },
                  "nativeSrc": "16574:50:132",
                  "nodeType": "YulIf",
                  "src": "16574:50:132"
                },
                {
                  "nativeSrc": "16633:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16633:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16647:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "16647:9:132"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "16658:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "16658:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16643:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "16643:3:132"
                    },
                    "nativeSrc": "16643:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16643:22:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "16637:2:132",
                      "nodeType": "YulTypedName",
                      "src": "16637:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16713:16:132",
                    "nodeType": "YulBlock",
                    "src": "16713:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16722:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16722:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16725:1:132",
                              "nodeType": "YulLiteral",
                              "src": "16725:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16715:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "16715:6:132"
                          },
                          "nativeSrc": "16715:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "16715:12:132"
                        },
                        "nativeSrc": "16715:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "16715:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "16692:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "16692:2:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "16696:4:132",
                                "nodeType": "YulLiteral",
                                "src": "16696:4:132",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "16688:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "16688:3:132"
                            },
                            "nativeSrc": "16688:13:132",
                            "nodeType": "YulFunctionCall",
                            "src": "16688:13:132"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16703:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "16703:7:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "16684:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "16684:3:132"
                        },
                        "nativeSrc": "16684:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "16684:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16677:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "16677:6:132"
                    },
                    "nativeSrc": "16677:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16677:35:132"
                  },
                  "nativeSrc": "16674:55:132",
                  "nodeType": "YulIf",
                  "src": "16674:55:132"
                },
                {
                  "nativeSrc": "16738:83:132",
                  "nodeType": "YulAssignment",
                  "src": "16738:83:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "16786:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "16786:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16790:2:132",
                            "nodeType": "YulLiteral",
                            "src": "16790:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16782:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "16782:3:132"
                        },
                        "nativeSrc": "16782:11:132",
                        "nodeType": "YulFunctionCall",
                        "src": "16782:11:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "16808:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "16808:2:132"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "16795:12:132",
                          "nodeType": "YulIdentifier",
                          "src": "16795:12:132"
                        },
                        "nativeSrc": "16795:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "16795:16:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16813:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "16813:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "16748:33:132",
                      "nodeType": "YulIdentifier",
                      "src": "16748:33:132"
                    },
                    "nativeSrc": "16748:73:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16748:73:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16738:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "16738:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr",
            "nativeSrc": "16377:450:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16423:9:132",
                "nodeType": "YulTypedName",
                "src": "16423:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16434:7:132",
                "nodeType": "YulTypedName",
                "src": "16434:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16446:6:132",
                "nodeType": "YulTypedName",
                "src": "16446:6:132",
                "type": ""
              }
            ],
            "src": "16377:450:132"
          },
          {
            "body": {
              "nativeSrc": "16957:76:132",
              "nodeType": "YulBlock",
              "src": "16957:76:132",
              "statements": [
                {
                  "nativeSrc": "16967:26:132",
                  "nodeType": "YulAssignment",
                  "src": "16967:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16979:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "16979:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16990:2:132",
                        "nodeType": "YulLiteral",
                        "src": "16990:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16975:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "16975:3:132"
                    },
                    "nativeSrc": "16975:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "16975:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16967:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "16967:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17009:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "17009:9:132"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "17020:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "17020:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17002:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "17002:6:132"
                    },
                    "nativeSrc": "17002:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17002:25:132"
                  },
                  "nativeSrc": "17002:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "17002:25:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID_$26992__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "16832:201:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16926:9:132",
                "nodeType": "YulTypedName",
                "src": "16926:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16937:6:132",
                "nodeType": "YulTypedName",
                "src": "16937:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16948:4:132",
                "nodeType": "YulTypedName",
                "src": "16948:4:132",
                "type": ""
              }
            ],
            "src": "16832:201:132"
          },
          {
            "body": {
              "nativeSrc": "17128:320:132",
              "nodeType": "YulBlock",
              "src": "17128:320:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17174:16:132",
                    "nodeType": "YulBlock",
                    "src": "17174:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17183:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17183:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17186:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17186:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17176:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "17176:6:132"
                          },
                          "nativeSrc": "17176:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "17176:12:132"
                        },
                        "nativeSrc": "17176:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "17176:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17149:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "17149:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17158:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "17158:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17145:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "17145:3:132"
                        },
                        "nativeSrc": "17145:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "17145:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17170:2:132",
                        "nodeType": "YulLiteral",
                        "src": "17170:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17141:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "17141:3:132"
                    },
                    "nativeSrc": "17141:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17141:32:132"
                  },
                  "nativeSrc": "17138:52:132",
                  "nodeType": "YulIf",
                  "src": "17138:52:132"
                },
                {
                  "nativeSrc": "17199:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17199:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17226:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "17226:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17213:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "17213:12:132"
                    },
                    "nativeSrc": "17213:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17213:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17203:6:132",
                      "nodeType": "YulTypedName",
                      "src": "17203:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17279:16:132",
                    "nodeType": "YulBlock",
                    "src": "17279:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17288:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17288:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17291:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17291:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17281:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "17281:6:132"
                          },
                          "nativeSrc": "17281:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "17281:12:132"
                        },
                        "nativeSrc": "17281:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "17281:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17251:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "17251:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17259:18:132",
                        "nodeType": "YulLiteral",
                        "src": "17259:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17248:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "17248:2:132"
                    },
                    "nativeSrc": "17248:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17248:30:132"
                  },
                  "nativeSrc": "17245:50:132",
                  "nodeType": "YulIf",
                  "src": "17245:50:132"
                },
                {
                  "nativeSrc": "17304:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17304:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17360:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "17360:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17371:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "17371:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17356:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "17356:3:132"
                        },
                        "nativeSrc": "17356:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "17356:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17380:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "17380:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "17330:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "17330:25:132"
                    },
                    "nativeSrc": "17330:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17330:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "17308:8:132",
                      "nodeType": "YulTypedName",
                      "src": "17308:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "17318:8:132",
                      "nodeType": "YulTypedName",
                      "src": "17318:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17397:18:132",
                  "nodeType": "YulAssignment",
                  "src": "17397:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "17407:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "17407:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17397:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "17397:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "17424:18:132",
                  "nodeType": "YulAssignment",
                  "src": "17424:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "17434:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "17434:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17424:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "17424:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptr",
            "nativeSrc": "17038:410:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17086:9:132",
                "nodeType": "YulTypedName",
                "src": "17086:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17097:7:132",
                "nodeType": "YulTypedName",
                "src": "17097:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17109:6:132",
                "nodeType": "YulTypedName",
                "src": "17109:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17117:6:132",
                "nodeType": "YulTypedName",
                "src": "17117:6:132",
                "type": ""
              }
            ],
            "src": "17038:410:132"
          },
          {
            "body": {
              "nativeSrc": "17605:538:132",
              "nodeType": "YulBlock",
              "src": "17605:538:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17651:16:132",
                    "nodeType": "YulBlock",
                    "src": "17651:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17660:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17660:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17663:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17663:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17653:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "17653:6:132"
                          },
                          "nativeSrc": "17653:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "17653:12:132"
                        },
                        "nativeSrc": "17653:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "17653:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17626:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "17626:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17635:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "17635:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17622:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "17622:3:132"
                        },
                        "nativeSrc": "17622:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "17622:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17647:2:132",
                        "nodeType": "YulLiteral",
                        "src": "17647:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17618:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "17618:3:132"
                    },
                    "nativeSrc": "17618:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17618:32:132"
                  },
                  "nativeSrc": "17615:52:132",
                  "nodeType": "YulIf",
                  "src": "17615:52:132"
                },
                {
                  "nativeSrc": "17676:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17676:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17703:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "17703:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17690:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "17690:12:132"
                    },
                    "nativeSrc": "17690:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17690:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17680:6:132",
                      "nodeType": "YulTypedName",
                      "src": "17680:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17756:16:132",
                    "nodeType": "YulBlock",
                    "src": "17756:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17765:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17765:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17768:1:132",
                              "nodeType": "YulLiteral",
                              "src": "17768:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17758:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "17758:6:132"
                          },
                          "nativeSrc": "17758:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "17758:12:132"
                        },
                        "nativeSrc": "17758:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "17758:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17728:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "17728:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17736:18:132",
                        "nodeType": "YulLiteral",
                        "src": "17736:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17725:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "17725:2:132"
                    },
                    "nativeSrc": "17725:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17725:30:132"
                  },
                  "nativeSrc": "17722:50:132",
                  "nodeType": "YulIf",
                  "src": "17722:50:132"
                },
                {
                  "nativeSrc": "17781:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17781:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17837:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "17837:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17848:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "17848:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17833:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "17833:3:132"
                        },
                        "nativeSrc": "17833:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "17833:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17857:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "17857:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "17807:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "17807:25:132"
                    },
                    "nativeSrc": "17807:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17807:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "17785:8:132",
                      "nodeType": "YulTypedName",
                      "src": "17785:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "17795:8:132",
                      "nodeType": "YulTypedName",
                      "src": "17795:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17874:18:132",
                  "nodeType": "YulAssignment",
                  "src": "17874:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "17884:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "17884:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17874:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "17874:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "17901:18:132",
                  "nodeType": "YulAssignment",
                  "src": "17901:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "17911:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "17911:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17901:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "17901:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "17928:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17928:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17958:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "17958:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17969:2:132",
                            "nodeType": "YulLiteral",
                            "src": "17969:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17954:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "17954:3:132"
                        },
                        "nativeSrc": "17954:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "17954:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17941:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "17941:12:132"
                    },
                    "nativeSrc": "17941:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17941:32:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17932:5:132",
                      "nodeType": "YulTypedName",
                      "src": "17932:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18004:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "18004:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "17982:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "17982:21:132"
                    },
                    "nativeSrc": "17982:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "17982:28:132"
                  },
                  "nativeSrc": "17982:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "17982:28:132"
                },
                {
                  "nativeSrc": "18019:15:132",
                  "nodeType": "YulAssignment",
                  "src": "18019:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18029:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "18029:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18019:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18019:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "18043:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18043:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "18058:1:132",
                    "nodeType": "YulLiteral",
                    "src": "18058:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "18047:7:132",
                      "nodeType": "YulTypedName",
                      "src": "18047:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18068:43:132",
                  "nodeType": "YulAssignment",
                  "src": "18068:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18096:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "18096:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18107:2:132",
                            "nodeType": "YulLiteral",
                            "src": "18107:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18092:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "18092:3:132"
                        },
                        "nativeSrc": "18092:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "18092:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18079:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "18079:12:132"
                    },
                    "nativeSrc": "18079:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18079:32:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "18068:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "18068:7:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "18120:17:132",
                  "nodeType": "YulAssignment",
                  "src": "18120:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "18130:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "18130:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "18120:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18120:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_userDefinedValueType$_RadonHash_$34584",
            "nativeSrc": "17453:690:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17547:9:132",
                "nodeType": "YulTypedName",
                "src": "17547:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17558:7:132",
                "nodeType": "YulTypedName",
                "src": "17558:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17570:6:132",
                "nodeType": "YulTypedName",
                "src": "17570:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17578:6:132",
                "nodeType": "YulTypedName",
                "src": "17578:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17586:6:132",
                "nodeType": "YulTypedName",
                "src": "17586:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17594:6:132",
                "nodeType": "YulTypedName",
                "src": "17594:6:132",
                "type": ""
              }
            ],
            "src": "17453:690:132"
          },
          {
            "body": {
              "nativeSrc": "18235:280:132",
              "nodeType": "YulBlock",
              "src": "18235:280:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18281:16:132",
                    "nodeType": "YulBlock",
                    "src": "18281:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18290:1:132",
                              "nodeType": "YulLiteral",
                              "src": "18290:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18293:1:132",
                              "nodeType": "YulLiteral",
                              "src": "18293:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18283:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "18283:6:132"
                          },
                          "nativeSrc": "18283:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "18283:12:132"
                        },
                        "nativeSrc": "18283:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "18283:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18256:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "18256:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18265:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "18265:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18252:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "18252:3:132"
                        },
                        "nativeSrc": "18252:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "18252:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18277:2:132",
                        "nodeType": "YulLiteral",
                        "src": "18277:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18248:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "18248:3:132"
                    },
                    "nativeSrc": "18248:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18248:32:132"
                  },
                  "nativeSrc": "18245:52:132",
                  "nodeType": "YulIf",
                  "src": "18245:52:132"
                },
                {
                  "nativeSrc": "18306:14:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18306:14:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "18319:1:132",
                    "nodeType": "YulLiteral",
                    "src": "18319:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18310:5:132",
                      "nodeType": "YulTypedName",
                      "src": "18310:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18329:32:132",
                  "nodeType": "YulAssignment",
                  "src": "18329:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18351:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "18351:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18338:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "18338:12:132"
                    },
                    "nativeSrc": "18338:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18338:23:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "18329:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "18329:5:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "18370:15:132",
                  "nodeType": "YulAssignment",
                  "src": "18370:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18380:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "18380:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18370:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18370:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "18394:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18394:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18426:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "18426:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18437:2:132",
                            "nodeType": "YulLiteral",
                            "src": "18437:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18422:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "18422:3:132"
                        },
                        "nativeSrc": "18422:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "18422:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18409:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "18409:12:132"
                    },
                    "nativeSrc": "18409:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18409:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "18398:7:132",
                      "nodeType": "YulTypedName",
                      "src": "18398:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "18475:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "18475:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "18450:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "18450:24:132"
                    },
                    "nativeSrc": "18450:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18450:33:132"
                  },
                  "nativeSrc": "18450:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "18450:33:132"
                },
                {
                  "nativeSrc": "18492:17:132",
                  "nodeType": "YulAssignment",
                  "src": "18492:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "18502:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "18502:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18492:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18492:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_address",
            "nativeSrc": "18148:367:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18193:9:132",
                "nodeType": "YulTypedName",
                "src": "18193:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18204:7:132",
                "nodeType": "YulTypedName",
                "src": "18204:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18216:6:132",
                "nodeType": "YulTypedName",
                "src": "18216:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18224:6:132",
                "nodeType": "YulTypedName",
                "src": "18224:6:132",
                "type": ""
              }
            ],
            "src": "18148:367:132"
          },
          {
            "body": {
              "nativeSrc": "18661:393:132",
              "nodeType": "YulBlock",
              "src": "18661:393:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18708:16:132",
                    "nodeType": "YulBlock",
                    "src": "18708:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18717:1:132",
                              "nodeType": "YulLiteral",
                              "src": "18717:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18720:1:132",
                              "nodeType": "YulLiteral",
                              "src": "18720:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18710:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "18710:6:132"
                          },
                          "nativeSrc": "18710:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "18710:12:132"
                        },
                        "nativeSrc": "18710:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "18710:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18682:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "18682:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18691:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "18691:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18678:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "18678:3:132"
                        },
                        "nativeSrc": "18678:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "18678:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18703:3:132",
                        "nodeType": "YulLiteral",
                        "src": "18703:3:132",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18674:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "18674:3:132"
                    },
                    "nativeSrc": "18674:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18674:33:132"
                  },
                  "nativeSrc": "18671:53:132",
                  "nodeType": "YulIf",
                  "src": "18671:53:132"
                },
                {
                  "nativeSrc": "18733:36:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18733:36:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18759:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "18759:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18746:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "18746:12:132"
                    },
                    "nativeSrc": "18746:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18746:23:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18737:5:132",
                      "nodeType": "YulTypedName",
                      "src": "18737:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18803:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "18803:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "18778:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "18778:24:132"
                    },
                    "nativeSrc": "18778:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18778:31:132"
                  },
                  "nativeSrc": "18778:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "18778:31:132"
                },
                {
                  "nativeSrc": "18818:15:132",
                  "nodeType": "YulAssignment",
                  "src": "18818:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18828:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "18828:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18818:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18818:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "18842:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18842:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18874:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "18874:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18885:2:132",
                            "nodeType": "YulLiteral",
                            "src": "18885:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18870:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "18870:3:132"
                        },
                        "nativeSrc": "18870:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "18870:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18857:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "18857:12:132"
                    },
                    "nativeSrc": "18857:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18857:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "18846:7:132",
                      "nodeType": "YulTypedName",
                      "src": "18846:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "18923:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "18923:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "18898:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "18898:24:132"
                    },
                    "nativeSrc": "18898:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18898:33:132"
                  },
                  "nativeSrc": "18898:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "18898:33:132"
                },
                {
                  "nativeSrc": "18940:17:132",
                  "nodeType": "YulAssignment",
                  "src": "18940:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "18950:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "18950:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18940:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18940:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "18966:82:132",
                  "nodeType": "YulAssignment",
                  "src": "18966:82:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19024:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "19024:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19035:2:132",
                            "nodeType": "YulLiteral",
                            "src": "19035:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19020:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "19020:3:132"
                        },
                        "nativeSrc": "19020:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "19020:18:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "19040:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "19040:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_calldata",
                      "nativeSrc": "18976:43:132",
                      "nodeType": "YulIdentifier",
                      "src": "18976:43:132"
                    },
                    "nativeSrc": "18976:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "18976:72:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18966:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "18966:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_addresst_struct$_UpdateConditions_$25342_calldata_ptr",
            "nativeSrc": "18520:534:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18611:9:132",
                "nodeType": "YulTypedName",
                "src": "18611:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18622:7:132",
                "nodeType": "YulTypedName",
                "src": "18622:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18634:6:132",
                "nodeType": "YulTypedName",
                "src": "18634:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18642:6:132",
                "nodeType": "YulTypedName",
                "src": "18642:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18650:6:132",
                "nodeType": "YulTypedName",
                "src": "18650:6:132",
                "type": ""
              }
            ],
            "src": "18520:534:132"
          },
          {
            "body": {
              "nativeSrc": "19103:75:132",
              "nodeType": "YulBlock",
              "src": "19103:75:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19156:16:132",
                    "nodeType": "YulBlock",
                    "src": "19156:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19165:1:132",
                              "nodeType": "YulLiteral",
                              "src": "19165:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19168:1:132",
                              "nodeType": "YulLiteral",
                              "src": "19168:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19158:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "19158:6:132"
                          },
                          "nativeSrc": "19158:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "19158:12:132"
                        },
                        "nativeSrc": "19158:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "19158:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "19126:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "19126:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "19137:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "19137:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19144:8:132",
                                "nodeType": "YulLiteral",
                                "src": "19144:8:132",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "19133:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "19133:3:132"
                            },
                            "nativeSrc": "19133:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "19133:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "19123:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "19123:2:132"
                        },
                        "nativeSrc": "19123:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "19123:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19116:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "19116:6:132"
                    },
                    "nativeSrc": "19116:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19116:39:132"
                  },
                  "nativeSrc": "19113:59:132",
                  "nodeType": "YulIf",
                  "src": "19113:59:132"
                }
              ]
            },
            "name": "validator_revert_uint24",
            "nativeSrc": "19059:119:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "19092:5:132",
                "nodeType": "YulTypedName",
                "src": "19092:5:132",
                "type": ""
              }
            ],
            "src": "19059:119:132"
          },
          {
            "body": {
              "nativeSrc": "19294:317:132",
              "nodeType": "YulBlock",
              "src": "19294:317:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19340:16:132",
                    "nodeType": "YulBlock",
                    "src": "19340:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19349:1:132",
                              "nodeType": "YulLiteral",
                              "src": "19349:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19352:1:132",
                              "nodeType": "YulLiteral",
                              "src": "19352:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19342:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "19342:6:132"
                          },
                          "nativeSrc": "19342:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "19342:12:132"
                        },
                        "nativeSrc": "19342:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "19342:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "19315:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "19315:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "19324:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "19324:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19311:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "19311:3:132"
                        },
                        "nativeSrc": "19311:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "19311:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19336:2:132",
                        "nodeType": "YulLiteral",
                        "src": "19336:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19307:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "19307:3:132"
                    },
                    "nativeSrc": "19307:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19307:32:132"
                  },
                  "nativeSrc": "19304:52:132",
                  "nodeType": "YulIf",
                  "src": "19304:52:132"
                },
                {
                  "nativeSrc": "19365:36:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19365:36:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19391:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "19391:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19378:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "19378:12:132"
                    },
                    "nativeSrc": "19378:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19378:23:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "19369:5:132",
                      "nodeType": "YulTypedName",
                      "src": "19369:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "19452:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "19452:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "19410:41:132",
                      "nodeType": "YulIdentifier",
                      "src": "19410:41:132"
                    },
                    "nativeSrc": "19410:48:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19410:48:132"
                  },
                  "nativeSrc": "19410:48:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "19410:48:132"
                },
                {
                  "nativeSrc": "19467:15:132",
                  "nodeType": "YulAssignment",
                  "src": "19467:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "19477:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "19477:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "19467:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "19467:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "19491:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19491:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19523:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "19523:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19534:2:132",
                            "nodeType": "YulLiteral",
                            "src": "19534:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19519:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "19519:3:132"
                        },
                        "nativeSrc": "19519:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "19519:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19506:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "19506:12:132"
                    },
                    "nativeSrc": "19506:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19506:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "19495:7:132",
                      "nodeType": "YulTypedName",
                      "src": "19495:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "19571:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "19571:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "19547:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "19547:23:132"
                    },
                    "nativeSrc": "19547:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19547:32:132"
                  },
                  "nativeSrc": "19547:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "19547:32:132"
                },
                {
                  "nativeSrc": "19588:17:132",
                  "nodeType": "YulAssignment",
                  "src": "19588:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "19598:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "19598:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "19588:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "19588:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID4_$25253t_uint24",
            "nativeSrc": "19183:428:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19252:9:132",
                "nodeType": "YulTypedName",
                "src": "19252:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19263:7:132",
                "nodeType": "YulTypedName",
                "src": "19263:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19275:6:132",
                "nodeType": "YulTypedName",
                "src": "19275:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19283:6:132",
                "nodeType": "YulTypedName",
                "src": "19283:6:132",
                "type": ""
              }
            ],
            "src": "19183:428:132"
          },
          {
            "body": {
              "nativeSrc": "19754:102:132",
              "nodeType": "YulBlock",
              "src": "19754:102:132",
              "statements": [
                {
                  "nativeSrc": "19764:26:132",
                  "nodeType": "YulAssignment",
                  "src": "19764:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19776:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "19776:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19787:2:132",
                        "nodeType": "YulLiteral",
                        "src": "19787:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19772:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "19772:3:132"
                    },
                    "nativeSrc": "19772:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19772:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19764:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "19764:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19806:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "19806:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19821:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "19821:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19837:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "19837:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19842:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "19842:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "19833:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "19833:3:132"
                                },
                                "nativeSrc": "19833:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "19833:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19846:1:132",
                                "nodeType": "YulLiteral",
                                "src": "19846:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "19829:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "19829:3:132"
                            },
                            "nativeSrc": "19829:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "19829:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19817:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "19817:3:132"
                        },
                        "nativeSrc": "19817:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "19817:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19799:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "19799:6:132"
                    },
                    "nativeSrc": "19799:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "19799:51:132"
                  },
                  "nativeSrc": "19799:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "19799:51:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitPythChainlinkAggregator_$27095__to_t_address__fromStack_reversed",
            "nativeSrc": "19616:240:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19723:9:132",
                "nodeType": "YulTypedName",
                "src": "19723:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19734:6:132",
                "nodeType": "YulTypedName",
                "src": "19734:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19745:4:132",
                "nodeType": "YulTypedName",
                "src": "19745:4:132",
                "type": ""
              }
            ],
            "src": "19616:240:132"
          },
          {
            "body": {
              "nativeSrc": "20029:797:132",
              "nodeType": "YulBlock",
              "src": "20029:797:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20076:16:132",
                    "nodeType": "YulBlock",
                    "src": "20076:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20085:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20085:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20088:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20088:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20078:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "20078:6:132"
                          },
                          "nativeSrc": "20078:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "20078:12:132"
                        },
                        "nativeSrc": "20078:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "20078:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20050:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "20050:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20059:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20059:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20046:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20046:3:132"
                        },
                        "nativeSrc": "20046:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20046:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20071:3:132",
                        "nodeType": "YulLiteral",
                        "src": "20071:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20042:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "20042:3:132"
                    },
                    "nativeSrc": "20042:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20042:33:132"
                  },
                  "nativeSrc": "20039:53:132",
                  "nodeType": "YulIf",
                  "src": "20039:53:132"
                },
                {
                  "nativeSrc": "20101:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20101:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20128:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "20128:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20115:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "20115:12:132"
                    },
                    "nativeSrc": "20115:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20115:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "20105:6:132",
                      "nodeType": "YulTypedName",
                      "src": "20105:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20181:16:132",
                    "nodeType": "YulBlock",
                    "src": "20181:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20190:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20190:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20193:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20193:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20183:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "20183:6:132"
                          },
                          "nativeSrc": "20183:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "20183:12:132"
                        },
                        "nativeSrc": "20183:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "20183:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "20153:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "20153:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20161:18:132",
                        "nodeType": "YulLiteral",
                        "src": "20161:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20150:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "20150:2:132"
                    },
                    "nativeSrc": "20150:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20150:30:132"
                  },
                  "nativeSrc": "20147:50:132",
                  "nodeType": "YulIf",
                  "src": "20147:50:132"
                },
                {
                  "nativeSrc": "20206:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20206:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20262:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20262:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "20273:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "20273:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20258:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20258:3:132"
                        },
                        "nativeSrc": "20258:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20258:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "20282:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "20282:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "20232:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "20232:25:132"
                    },
                    "nativeSrc": "20232:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20232:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "20210:8:132",
                      "nodeType": "YulTypedName",
                      "src": "20210:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "20220:8:132",
                      "nodeType": "YulTypedName",
                      "src": "20220:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20299:18:132",
                  "nodeType": "YulAssignment",
                  "src": "20299:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "20309:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "20309:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20299:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20299:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "20326:18:132",
                  "nodeType": "YulAssignment",
                  "src": "20326:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "20336:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "20336:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "20326:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20326:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "20353:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20353:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20383:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20383:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20394:2:132",
                            "nodeType": "YulLiteral",
                            "src": "20394:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20379:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20379:3:132"
                        },
                        "nativeSrc": "20379:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20379:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20366:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "20366:12:132"
                    },
                    "nativeSrc": "20366:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20366:32:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "20357:5:132",
                      "nodeType": "YulTypedName",
                      "src": "20357:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "20429:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "20429:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "20407:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "20407:21:132"
                    },
                    "nativeSrc": "20407:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20407:28:132"
                  },
                  "nativeSrc": "20407:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "20407:28:132"
                },
                {
                  "nativeSrc": "20444:15:132",
                  "nodeType": "YulAssignment",
                  "src": "20444:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "20454:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "20454:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "20444:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20444:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "20468:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20468:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20500:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20500:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20511:2:132",
                            "nodeType": "YulLiteral",
                            "src": "20511:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20496:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20496:3:132"
                        },
                        "nativeSrc": "20496:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20496:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20483:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "20483:12:132"
                    },
                    "nativeSrc": "20483:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20483:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "20472:7:132",
                      "nodeType": "YulTypedName",
                      "src": "20472:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20550:16:132",
                    "nodeType": "YulBlock",
                    "src": "20550:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20559:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20559:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20562:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20562:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20552:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "20552:6:132"
                          },
                          "nativeSrc": "20552:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "20552:12:132"
                        },
                        "nativeSrc": "20552:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "20552:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "20537:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "20537:7:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20546:1:132",
                            "nodeType": "YulLiteral",
                            "src": "20546:1:132",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "20534:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "20534:2:132"
                        },
                        "nativeSrc": "20534:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20534:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20527:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20527:6:132"
                    },
                    "nativeSrc": "20527:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20527:22:132"
                  },
                  "nativeSrc": "20524:42:132",
                  "nodeType": "YulIf",
                  "src": "20524:42:132"
                },
                {
                  "nativeSrc": "20575:17:132",
                  "nodeType": "YulAssignment",
                  "src": "20575:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "20585:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "20585:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "20575:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20575:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "20601:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20601:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20633:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20633:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20644:2:132",
                            "nodeType": "YulLiteral",
                            "src": "20644:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20629:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20629:3:132"
                        },
                        "nativeSrc": "20629:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20629:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20616:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "20616:12:132"
                    },
                    "nativeSrc": "20616:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20616:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "20605:7:132",
                      "nodeType": "YulTypedName",
                      "src": "20605:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "20682:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "20682:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "20657:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "20657:24:132"
                    },
                    "nativeSrc": "20657:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20657:33:132"
                  },
                  "nativeSrc": "20657:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "20657:33:132"
                },
                {
                  "nativeSrc": "20699:17:132",
                  "nodeType": "YulAssignment",
                  "src": "20699:17:132",
                  "value": {
                    "name": "value_2",
                    "nativeSrc": "20709:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "20709:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "20699:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20699:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "20725:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20725:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "20740:1:132",
                    "nodeType": "YulLiteral",
                    "src": "20740:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "20729:7:132",
                      "nodeType": "YulTypedName",
                      "src": "20729:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20750:44:132",
                  "nodeType": "YulAssignment",
                  "src": "20750:44:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20778:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20778:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20789:3:132",
                            "nodeType": "YulLiteral",
                            "src": "20789:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20774:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20774:3:132"
                        },
                        "nativeSrc": "20774:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20774:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20761:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "20761:12:132"
                    },
                    "nativeSrc": "20761:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20761:33:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_3",
                      "nativeSrc": "20750:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "20750:7:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "20803:17:132",
                  "nodeType": "YulAssignment",
                  "src": "20803:17:132",
                  "value": {
                    "name": "value_3",
                    "nativeSrc": "20813:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "20813:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "20803:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "20803:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Oracles_$25264t_addresst_bytes32",
            "nativeSrc": "19861:965:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19955:9:132",
                "nodeType": "YulTypedName",
                "src": "19955:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19966:7:132",
                "nodeType": "YulTypedName",
                "src": "19966:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19978:6:132",
                "nodeType": "YulTypedName",
                "src": "19978:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19986:6:132",
                "nodeType": "YulTypedName",
                "src": "19986:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "19994:6:132",
                "nodeType": "YulTypedName",
                "src": "19994:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "20002:6:132",
                "nodeType": "YulTypedName",
                "src": "20002:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "20010:6:132",
                "nodeType": "YulTypedName",
                "src": "20010:6:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "20018:6:132",
                "nodeType": "YulTypedName",
                "src": "20018:6:132",
                "type": ""
              }
            ],
            "src": "19861:965:132"
          },
          {
            "body": {
              "nativeSrc": "20901:156:132",
              "nodeType": "YulBlock",
              "src": "20901:156:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20947:16:132",
                    "nodeType": "YulBlock",
                    "src": "20947:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20956:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20956:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20959:1:132",
                              "nodeType": "YulLiteral",
                              "src": "20959:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20949:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "20949:6:132"
                          },
                          "nativeSrc": "20949:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "20949:12:132"
                        },
                        "nativeSrc": "20949:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "20949:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20922:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "20922:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20931:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "20931:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20918:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "20918:3:132"
                        },
                        "nativeSrc": "20918:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "20918:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20943:2:132",
                        "nodeType": "YulLiteral",
                        "src": "20943:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20914:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "20914:3:132"
                    },
                    "nativeSrc": "20914:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "20914:32:132"
                  },
                  "nativeSrc": "20911:52:132",
                  "nodeType": "YulIf",
                  "src": "20911:52:132"
                },
                {
                  "nativeSrc": "20972:14:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20972:14:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "20985:1:132",
                    "nodeType": "YulLiteral",
                    "src": "20985:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "20976:5:132",
                      "nodeType": "YulTypedName",
                      "src": "20976:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20995:32:132",
                  "nodeType": "YulAssignment",
                  "src": "20995:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21017:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "21017:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "21004:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "21004:12:132"
                    },
                    "nativeSrc": "21004:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21004:23:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "20995:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "20995:5:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "21036:15:132",
                  "nodeType": "YulAssignment",
                  "src": "21036:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "21046:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "21046:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21036:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21036:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32",
            "nativeSrc": "20831:226:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20867:9:132",
                "nodeType": "YulTypedName",
                "src": "20867:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20878:7:132",
                "nodeType": "YulTypedName",
                "src": "20878:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20890:6:132",
                "nodeType": "YulTypedName",
                "src": "20890:6:132",
                "type": ""
              }
            ],
            "src": "20831:226:132"
          },
          {
            "body": {
              "nativeSrc": "21217:162:132",
              "nodeType": "YulBlock",
              "src": "21217:162:132",
              "statements": [
                {
                  "nativeSrc": "21227:26:132",
                  "nodeType": "YulAssignment",
                  "src": "21227:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21239:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "21239:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21250:2:132",
                        "nodeType": "YulLiteral",
                        "src": "21250:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21235:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "21235:3:132"
                    },
                    "nativeSrc": "21235:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21235:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21227:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "21227:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21269:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "21269:9:132"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "21280:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "21280:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21262:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21262:6:132"
                    },
                    "nativeSrc": "21262:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21262:25:132"
                  },
                  "nativeSrc": "21262:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "21262:25:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21307:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "21307:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21318:2:132",
                            "nodeType": "YulLiteral",
                            "src": "21318:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21303:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "21303:3:132"
                        },
                        "nativeSrc": "21303:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "21303:18:132"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "21323:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "21323:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21296:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21296:6:132"
                    },
                    "nativeSrc": "21296:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21296:34:132"
                  },
                  "nativeSrc": "21296:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "21296:34:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21350:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "21350:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21361:2:132",
                            "nodeType": "YulLiteral",
                            "src": "21361:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21346:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "21346:3:132"
                        },
                        "nativeSrc": "21346:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "21346:18:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "21366:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "21366:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21339:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21339:6:132"
                    },
                    "nativeSrc": "21339:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21339:34:132"
                  },
                  "nativeSrc": "21339:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "21339:34:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "21062:317:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21170:9:132",
                "nodeType": "YulTypedName",
                "src": "21170:9:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "21181:6:132",
                "nodeType": "YulTypedName",
                "src": "21181:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "21189:6:132",
                "nodeType": "YulTypedName",
                "src": "21189:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21197:6:132",
                "nodeType": "YulTypedName",
                "src": "21197:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21208:4:132",
                "nodeType": "YulTypedName",
                "src": "21208:4:132",
                "type": ""
              }
            ],
            "src": "21062:317:132"
          },
          {
            "body": {
              "nativeSrc": "21528:412:132",
              "nodeType": "YulBlock",
              "src": "21528:412:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21575:16:132",
                    "nodeType": "YulBlock",
                    "src": "21575:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21584:1:132",
                              "nodeType": "YulLiteral",
                              "src": "21584:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21587:1:132",
                              "nodeType": "YulLiteral",
                              "src": "21587:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21577:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "21577:6:132"
                          },
                          "nativeSrc": "21577:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "21577:12:132"
                        },
                        "nativeSrc": "21577:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "21577:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21549:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "21549:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21558:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "21558:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21545:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "21545:3:132"
                        },
                        "nativeSrc": "21545:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "21545:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21570:3:132",
                        "nodeType": "YulLiteral",
                        "src": "21570:3:132",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21541:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "21541:3:132"
                    },
                    "nativeSrc": "21541:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21541:33:132"
                  },
                  "nativeSrc": "21538:53:132",
                  "nodeType": "YulIf",
                  "src": "21538:53:132"
                },
                {
                  "nativeSrc": "21600:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21600:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21627:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "21627:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "21614:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "21614:12:132"
                    },
                    "nativeSrc": "21614:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21614:23:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "21604:6:132",
                      "nodeType": "YulTypedName",
                      "src": "21604:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21680:16:132",
                    "nodeType": "YulBlock",
                    "src": "21680:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21689:1:132",
                              "nodeType": "YulLiteral",
                              "src": "21689:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21692:1:132",
                              "nodeType": "YulLiteral",
                              "src": "21692:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21682:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "21682:6:132"
                          },
                          "nativeSrc": "21682:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "21682:12:132"
                        },
                        "nativeSrc": "21682:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "21682:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21652:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "21652:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21660:18:132",
                        "nodeType": "YulLiteral",
                        "src": "21660:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21649:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "21649:2:132"
                    },
                    "nativeSrc": "21649:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21649:30:132"
                  },
                  "nativeSrc": "21646:50:132",
                  "nodeType": "YulIf",
                  "src": "21646:50:132"
                },
                {
                  "nativeSrc": "21705:84:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21705:84:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21761:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "21761:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "21772:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "21772:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21757:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "21757:3:132"
                        },
                        "nativeSrc": "21757:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "21757:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "21781:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "21781:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "21731:25:132",
                      "nodeType": "YulIdentifier",
                      "src": "21731:25:132"
                    },
                    "nativeSrc": "21731:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21731:58:132"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "21709:8:132",
                      "nodeType": "YulTypedName",
                      "src": "21709:8:132",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "21719:8:132",
                      "nodeType": "YulTypedName",
                      "src": "21719:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21798:18:132",
                  "nodeType": "YulAssignment",
                  "src": "21798:18:132",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "21808:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "21808:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21798:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21798:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "21825:18:132",
                  "nodeType": "YulAssignment",
                  "src": "21825:18:132",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "21835:8:132",
                    "nodeType": "YulIdentifier",
                    "src": "21835:8:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "21825:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21825:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "21852:82:132",
                  "nodeType": "YulAssignment",
                  "src": "21852:82:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21910:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "21910:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21921:2:132",
                            "nodeType": "YulLiteral",
                            "src": "21921:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21906:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "21906:3:132"
                        },
                        "nativeSrc": "21906:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "21906:18:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "21926:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "21926:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_calldata",
                      "nativeSrc": "21862:43:132",
                      "nodeType": "YulIdentifier",
                      "src": "21862:43:132"
                    },
                    "nativeSrc": "21862:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21862:72:132"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "21852:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21852:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_struct$_UpdateConditions_$25342_calldata_ptr",
            "nativeSrc": "21384:556:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21478:9:132",
                "nodeType": "YulTypedName",
                "src": "21478:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21489:7:132",
                "nodeType": "YulTypedName",
                "src": "21489:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "21501:6:132",
                "nodeType": "YulTypedName",
                "src": "21501:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "21509:6:132",
                "nodeType": "YulTypedName",
                "src": "21509:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "21517:6:132",
                "nodeType": "YulTypedName",
                "src": "21517:6:132",
                "type": ""
              }
            ],
            "src": "21384:556:132"
          },
          {
            "body": {
              "nativeSrc": "21977:95:132",
              "nodeType": "YulBlock",
              "src": "21977:95:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21994:1:132",
                        "nodeType": "YulLiteral",
                        "src": "21994:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "22001:3:132",
                            "nodeType": "YulLiteral",
                            "src": "22001:3:132",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22006:10:132",
                            "nodeType": "YulLiteral",
                            "src": "22006:10:132",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "21997:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "21997:3:132"
                        },
                        "nativeSrc": "21997:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "21997:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21987:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "21987:6:132"
                    },
                    "nativeSrc": "21987:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "21987:31:132"
                  },
                  "nativeSrc": "21987:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "21987:31:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22034:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22034:1:132",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22037:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22037:4:132",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22027:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22027:6:132"
                    },
                    "nativeSrc": "22027:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22027:15:132"
                  },
                  "nativeSrc": "22027:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22027:15:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22058:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22058:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22061:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22061:4:132",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "22051:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22051:6:132"
                    },
                    "nativeSrc": "22051:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22051:15:132"
                  },
                  "nativeSrc": "22051:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22051:15:132"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "21945:127:132",
            "nodeType": "YulFunctionDefinition",
            "src": "21945:127:132"
          },
          {
            "body": {
              "nativeSrc": "22109:95:132",
              "nodeType": "YulBlock",
              "src": "22109:95:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22126:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22126:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "22133:3:132",
                            "nodeType": "YulLiteral",
                            "src": "22133:3:132",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22138:10:132",
                            "nodeType": "YulLiteral",
                            "src": "22138:10:132",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "22129:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "22129:3:132"
                        },
                        "nativeSrc": "22129:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "22129:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22119:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22119:6:132"
                    },
                    "nativeSrc": "22119:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22119:31:132"
                  },
                  "nativeSrc": "22119:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22119:31:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22166:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22166:1:132",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22169:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22169:4:132",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22159:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22159:6:132"
                    },
                    "nativeSrc": "22159:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22159:15:132"
                  },
                  "nativeSrc": "22159:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22159:15:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22190:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22190:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22193:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22193:4:132",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "22183:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22183:6:132"
                    },
                    "nativeSrc": "22183:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22183:15:132"
                  },
                  "nativeSrc": "22183:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22183:15:132"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "22077:127:132",
            "nodeType": "YulFunctionDefinition",
            "src": "22077:127:132"
          },
          {
            "body": {
              "nativeSrc": "22253:121:132",
              "nodeType": "YulBlock",
              "src": "22253:121:132",
              "statements": [
                {
                  "nativeSrc": "22263:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22263:23:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "22278:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "22278:1:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22281:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22281:4:132",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "22274:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "22274:3:132"
                    },
                    "nativeSrc": "22274:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22274:12:132"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "22267:3:132",
                      "nodeType": "YulTypedName",
                      "src": "22267:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22310:22:132",
                    "nodeType": "YulBlock",
                    "src": "22310:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "22312:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "22312:16:132"
                          },
                          "nativeSrc": "22312:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "22312:18:132"
                        },
                        "nativeSrc": "22312:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "22312:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "22305:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "22305:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22298:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22298:6:132"
                    },
                    "nativeSrc": "22298:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22298:11:132"
                  },
                  "nativeSrc": "22295:37:132",
                  "nodeType": "YulIf",
                  "src": "22295:37:132"
                },
                {
                  "nativeSrc": "22341:27:132",
                  "nodeType": "YulAssignment",
                  "src": "22341:27:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "22354:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "22354:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22357:4:132",
                            "nodeType": "YulLiteral",
                            "src": "22357:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "22350:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "22350:3:132"
                        },
                        "nativeSrc": "22350:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "22350:12:132"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "22364:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "22364:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "22346:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "22346:3:132"
                    },
                    "nativeSrc": "22346:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22346:22:132"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "22341:1:132",
                      "nodeType": "YulIdentifier",
                      "src": "22341:1:132"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "22209:165:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "22238:1:132",
                "nodeType": "YulTypedName",
                "src": "22238:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "22241:1:132",
                "nodeType": "YulTypedName",
                "src": "22241:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "22247:1:132",
                "nodeType": "YulTypedName",
                "src": "22247:1:132",
                "type": ""
              }
            ],
            "src": "22209:165:132"
          },
          {
            "body": {
              "nativeSrc": "22425:102:132",
              "nodeType": "YulBlock",
              "src": "22425:102:132",
              "statements": [
                {
                  "nativeSrc": "22435:38:132",
                  "nodeType": "YulAssignment",
                  "src": "22435:38:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "22450:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "22450:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22453:4:132",
                            "nodeType": "YulLiteral",
                            "src": "22453:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "22446:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "22446:3:132"
                        },
                        "nativeSrc": "22446:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "22446:12:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "22464:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "22464:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22467:4:132",
                            "nodeType": "YulLiteral",
                            "src": "22467:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "22460:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "22460:3:132"
                        },
                        "nativeSrc": "22460:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "22460:12:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22442:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "22442:3:132"
                    },
                    "nativeSrc": "22442:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22442:31:132"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "22435:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "22435:3:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22499:22:132",
                    "nodeType": "YulBlock",
                    "src": "22499:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "22501:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "22501:16:132"
                          },
                          "nativeSrc": "22501:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "22501:18:132"
                        },
                        "nativeSrc": "22501:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "22501:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "22488:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "22488:3:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22493:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22493:4:132",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22485:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "22485:2:132"
                    },
                    "nativeSrc": "22485:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22485:13:132"
                  },
                  "nativeSrc": "22482:39:132",
                  "nodeType": "YulIf",
                  "src": "22482:39:132"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "22379:148:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "22408:1:132",
                "nodeType": "YulTypedName",
                "src": "22408:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "22411:1:132",
                "nodeType": "YulTypedName",
                "src": "22411:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "22417:3:132",
                "nodeType": "YulTypedName",
                "src": "22417:3:132",
                "type": ""
              }
            ],
            "src": "22379:148:132"
          },
          {
            "body": {
              "nativeSrc": "22568:121:132",
              "nodeType": "YulBlock",
              "src": "22568:121:132",
              "statements": [
                {
                  "nativeSrc": "22578:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22578:23:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "22593:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "22593:1:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22596:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22596:4:132",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "22589:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "22589:3:132"
                    },
                    "nativeSrc": "22589:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22589:12:132"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "22582:3:132",
                      "nodeType": "YulTypedName",
                      "src": "22582:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22625:22:132",
                    "nodeType": "YulBlock",
                    "src": "22625:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "22627:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "22627:16:132"
                          },
                          "nativeSrc": "22627:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "22627:18:132"
                        },
                        "nativeSrc": "22627:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "22627:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "22620:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "22620:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22613:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22613:6:132"
                    },
                    "nativeSrc": "22613:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22613:11:132"
                  },
                  "nativeSrc": "22610:37:132",
                  "nodeType": "YulIf",
                  "src": "22610:37:132"
                },
                {
                  "nativeSrc": "22656:27:132",
                  "nodeType": "YulAssignment",
                  "src": "22656:27:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "22669:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "22669:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22672:4:132",
                            "nodeType": "YulLiteral",
                            "src": "22672:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "22665:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "22665:3:132"
                        },
                        "nativeSrc": "22665:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "22665:12:132"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "22679:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "22679:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "22661:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "22661:3:132"
                    },
                    "nativeSrc": "22661:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22661:22:132"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "22656:1:132",
                      "nodeType": "YulIdentifier",
                      "src": "22656:1:132"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "22532:157:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "22553:1:132",
                "nodeType": "YulTypedName",
                "src": "22553:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "22556:1:132",
                "nodeType": "YulTypedName",
                "src": "22556:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "22562:1:132",
                "nodeType": "YulTypedName",
                "src": "22562:1:132",
                "type": ""
              }
            ],
            "src": "22532:157:132"
          },
          {
            "body": {
              "nativeSrc": "22726:95:132",
              "nodeType": "YulBlock",
              "src": "22726:95:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22743:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22743:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "22750:3:132",
                            "nodeType": "YulLiteral",
                            "src": "22750:3:132",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22755:10:132",
                            "nodeType": "YulLiteral",
                            "src": "22755:10:132",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "22746:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "22746:3:132"
                        },
                        "nativeSrc": "22746:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "22746:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22736:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22736:6:132"
                    },
                    "nativeSrc": "22736:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22736:31:132"
                  },
                  "nativeSrc": "22736:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22736:31:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22783:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22783:1:132",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22786:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22786:4:132",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22776:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22776:6:132"
                    },
                    "nativeSrc": "22776:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22776:15:132"
                  },
                  "nativeSrc": "22776:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22776:15:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22807:1:132",
                        "nodeType": "YulLiteral",
                        "src": "22807:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22810:4:132",
                        "nodeType": "YulLiteral",
                        "src": "22810:4:132",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "22800:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "22800:6:132"
                    },
                    "nativeSrc": "22800:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "22800:15:132"
                  },
                  "nativeSrc": "22800:15:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "22800:15:132"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "22694:127:132",
            "nodeType": "YulFunctionDefinition",
            "src": "22694:127:132"
          },
          {
            "body": {
              "nativeSrc": "23114:134:132",
              "nodeType": "YulBlock",
              "src": "23114:134:132",
              "statements": [
                {
                  "nativeSrc": "23124:40:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23124:40:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23152:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "23152:6:132"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23160:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "23160:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "23134:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "23134:17:132"
                    },
                    "nativeSrc": "23134:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23134:30:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23128:2:132",
                      "nodeType": "YulTypedName",
                      "src": "23128:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "23180:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "23180:2:132"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "23184:4:132",
                        "nodeType": "YulLiteral",
                        "src": "23184:4:132",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23173:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "23173:6:132"
                    },
                    "nativeSrc": "23173:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23173:16:132"
                  },
                  "nativeSrc": "23173:16:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "23173:16:132"
                },
                {
                  "nativeSrc": "23198:44:132",
                  "nodeType": "YulAssignment",
                  "src": "23198:44:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "23223:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "23223:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "23235:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "23235:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23239:1:132",
                            "nodeType": "YulLiteral",
                            "src": "23239:1:132",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23231:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "23231:3:132"
                        },
                        "nativeSrc": "23231:10:132",
                        "nodeType": "YulFunctionCall",
                        "src": "23231:10:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "23205:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "23205:17:132"
                    },
                    "nativeSrc": "23205:37:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23205:37:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23198:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "23198:3:132"
                    }
                  ]
                }
              ]
            },
            "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": "22826:422:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23082:3:132",
                "nodeType": "YulTypedName",
                "src": "23082:3:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "23087:6:132",
                "nodeType": "YulTypedName",
                "src": "23087:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23095:6:132",
                "nodeType": "YulTypedName",
                "src": "23095:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23106:3:132",
                "nodeType": "YulTypedName",
                "src": "23106:3:132",
                "type": ""
              }
            ],
            "src": "22826:422:132"
          },
          {
            "body": {
              "nativeSrc": "23308:325:132",
              "nodeType": "YulBlock",
              "src": "23308:325:132",
              "statements": [
                {
                  "nativeSrc": "23318:22:132",
                  "nodeType": "YulAssignment",
                  "src": "23318:22:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23332:1:132",
                        "nodeType": "YulLiteral",
                        "src": "23332:1:132",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "23335:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "23335:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "23328:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "23328:3:132"
                    },
                    "nativeSrc": "23328:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23328:12:132"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23318:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "23318:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "23349:38:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23349:38:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "23379:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "23379:4:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23385:1:132",
                        "nodeType": "YulLiteral",
                        "src": "23385:1:132",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23375:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "23375:3:132"
                    },
                    "nativeSrc": "23375:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23375:12:132"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "23353:18:132",
                      "nodeType": "YulTypedName",
                      "src": "23353:18:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23426:31:132",
                    "nodeType": "YulBlock",
                    "src": "23426:31:132",
                    "statements": [
                      {
                        "nativeSrc": "23428:27:132",
                        "nodeType": "YulAssignment",
                        "src": "23428:27:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "23442:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "23442:6:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23450:4:132",
                              "nodeType": "YulLiteral",
                              "src": "23450:4:132",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "23438:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "23438:3:132"
                          },
                          "nativeSrc": "23438:17:132",
                          "nodeType": "YulFunctionCall",
                          "src": "23438:17:132"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "23428:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "23428:6:132"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23406:18:132",
                        "nodeType": "YulIdentifier",
                        "src": "23406:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23399:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "23399:6:132"
                    },
                    "nativeSrc": "23399:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23399:26:132"
                  },
                  "nativeSrc": "23396:61:132",
                  "nodeType": "YulIf",
                  "src": "23396:61:132"
                },
                {
                  "body": {
                    "nativeSrc": "23516:111:132",
                    "nodeType": "YulBlock",
                    "src": "23516:111:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23537:1:132",
                              "nodeType": "YulLiteral",
                              "src": "23537:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "23544:3:132",
                                  "nodeType": "YulLiteral",
                                  "src": "23544:3:132",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "23549:10:132",
                                  "nodeType": "YulLiteral",
                                  "src": "23549:10:132",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "23540:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "23540:3:132"
                              },
                              "nativeSrc": "23540:20:132",
                              "nodeType": "YulFunctionCall",
                              "src": "23540:20:132"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23530:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "23530:6:132"
                          },
                          "nativeSrc": "23530:31:132",
                          "nodeType": "YulFunctionCall",
                          "src": "23530:31:132"
                        },
                        "nativeSrc": "23530:31:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "23530:31:132"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23581:1:132",
                              "nodeType": "YulLiteral",
                              "src": "23581:1:132",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23584:4:132",
                              "nodeType": "YulLiteral",
                              "src": "23584:4:132",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23574:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "23574:6:132"
                          },
                          "nativeSrc": "23574:15:132",
                          "nodeType": "YulFunctionCall",
                          "src": "23574:15:132"
                        },
                        "nativeSrc": "23574:15:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "23574:15:132"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23609:1:132",
                              "nodeType": "YulLiteral",
                              "src": "23609:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23612:4:132",
                              "nodeType": "YulLiteral",
                              "src": "23612:4:132",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23602:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "23602:6:132"
                          },
                          "nativeSrc": "23602:15:132",
                          "nodeType": "YulFunctionCall",
                          "src": "23602:15:132"
                        },
                        "nativeSrc": "23602:15:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "23602:15:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23472:18:132",
                        "nodeType": "YulIdentifier",
                        "src": "23472:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "23495:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "23495:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23503:2:132",
                            "nodeType": "YulLiteral",
                            "src": "23503:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "23492:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "23492:2:132"
                        },
                        "nativeSrc": "23492:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "23492:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "23469:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "23469:2:132"
                    },
                    "nativeSrc": "23469:38:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23469:38:132"
                  },
                  "nativeSrc": "23466:161:132",
                  "nodeType": "YulIf",
                  "src": "23466:161:132"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "23253:380:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "23288:4:132",
                "nodeType": "YulTypedName",
                "src": "23288:4:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "23297:6:132",
                "nodeType": "YulTypedName",
                "src": "23297:6:132",
                "type": ""
              }
            ],
            "src": "23253:380:132"
          },
          {
            "body": {
              "nativeSrc": "23771:103:132",
              "nodeType": "YulBlock",
              "src": "23771:103:132",
              "statements": [
                {
                  "nativeSrc": "23781:26:132",
                  "nodeType": "YulAssignment",
                  "src": "23781:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23793:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "23793:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23804:2:132",
                        "nodeType": "YulLiteral",
                        "src": "23804:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23789:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "23789:3:132"
                    },
                    "nativeSrc": "23789:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23789:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23781:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "23781:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23823:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "23823:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23838:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "23838:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "23850:3:132",
                                "nodeType": "YulLiteral",
                                "src": "23850:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "23855:10:132",
                                "nodeType": "YulLiteral",
                                "src": "23855:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "23846:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "23846:3:132"
                            },
                            "nativeSrc": "23846:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "23846:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23834:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "23834:3:132"
                        },
                        "nativeSrc": "23834:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "23834:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23816:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "23816:6:132"
                    },
                    "nativeSrc": "23816:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23816:52:132"
                  },
                  "nativeSrc": "23816:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "23816:52:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253__to_t_bytes4__fromStack_library_reversed",
            "nativeSrc": "23638:236:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23740:9:132",
                "nodeType": "YulTypedName",
                "src": "23740:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23751:6:132",
                "nodeType": "YulTypedName",
                "src": "23751:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23762:4:132",
                "nodeType": "YulTypedName",
                "src": "23762:4:132",
                "type": ""
              }
            ],
            "src": "23638:236:132"
          },
          {
            "body": {
              "nativeSrc": "23938:77:132",
              "nodeType": "YulBlock",
              "src": "23938:77:132",
              "statements": [
                {
                  "nativeSrc": "23948:22:132",
                  "nodeType": "YulAssignment",
                  "src": "23948:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "23963:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "23963:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23957:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "23957:5:132"
                    },
                    "nativeSrc": "23957:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23957:13:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "23948:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "23948:5:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24003:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "24003:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "23979:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "23979:23:132"
                    },
                    "nativeSrc": "23979:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "23979:30:132"
                  },
                  "nativeSrc": "23979:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "23979:30:132"
                }
              ]
            },
            "name": "abi_decode_uint64_fromMemory",
            "nativeSrc": "23879:136:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "23917:6:132",
                "nodeType": "YulTypedName",
                "src": "23917:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "23928:5:132",
                "nodeType": "YulTypedName",
                "src": "23928:5:132",
                "type": ""
              }
            ],
            "src": "23879:136:132"
          },
          {
            "body": {
              "nativeSrc": "24078:106:132",
              "nodeType": "YulBlock",
              "src": "24078:106:132",
              "statements": [
                {
                  "nativeSrc": "24088:22:132",
                  "nodeType": "YulAssignment",
                  "src": "24088:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24103:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "24103:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24097:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "24097:5:132"
                    },
                    "nativeSrc": "24097:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24097:13:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "24088:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "24088:5:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24162:16:132",
                    "nodeType": "YulBlock",
                    "src": "24162:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24171:1:132",
                              "nodeType": "YulLiteral",
                              "src": "24171:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24174:1:132",
                              "nodeType": "YulLiteral",
                              "src": "24174:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24164:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "24164:6:132"
                          },
                          "nativeSrc": "24164:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "24164:12:132"
                        },
                        "nativeSrc": "24164:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "24164:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24132:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "24132:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "24150:1:132",
                                "nodeType": "YulLiteral",
                                "src": "24150:1:132",
                                "type": "",
                                "value": "6"
                              },
                              {
                                "name": "value",
                                "nativeSrc": "24153:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "24153:5:132"
                              }
                            ],
                            "functionName": {
                              "name": "signextend",
                              "nativeSrc": "24139:10:132",
                              "nodeType": "YulIdentifier",
                              "src": "24139:10:132"
                            },
                            "nativeSrc": "24139:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "24139:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24129:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "24129:2:132"
                        },
                        "nativeSrc": "24129:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24129:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24122:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "24122:6:132"
                    },
                    "nativeSrc": "24122:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24122:39:132"
                  },
                  "nativeSrc": "24119:59:132",
                  "nodeType": "YulIf",
                  "src": "24119:59:132"
                }
              ]
            },
            "name": "abi_decode_int56_fromMemory",
            "nativeSrc": "24020:164:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "24057:6:132",
                "nodeType": "YulTypedName",
                "src": "24057:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "24068:5:132",
                "nodeType": "YulTypedName",
                "src": "24068:5:132",
                "type": ""
              }
            ],
            "src": "24020:164:132"
          },
          {
            "body": {
              "nativeSrc": "24294:895:132",
              "nodeType": "YulBlock",
              "src": "24294:895:132",
              "statements": [
                {
                  "nativeSrc": "24304:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24304:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "24322:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "24322:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "24331:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "24331:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "24318:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "24318:3:132"
                        },
                        "nativeSrc": "24318:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24318:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24343:3:132",
                        "nodeType": "YulLiteral",
                        "src": "24343:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "24314:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "24314:3:132"
                    },
                    "nativeSrc": "24314:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24314:33:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24308:2:132",
                      "nodeType": "YulTypedName",
                      "src": "24308:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24362:16:132",
                    "nodeType": "YulBlock",
                    "src": "24362:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24371:1:132",
                              "nodeType": "YulLiteral",
                              "src": "24371:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24374:1:132",
                              "nodeType": "YulLiteral",
                              "src": "24374:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24364:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "24364:6:132"
                          },
                          "nativeSrc": "24364:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "24364:12:132"
                        },
                        "nativeSrc": "24364:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "24364:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "24359:2:132",
                    "nodeType": "YulIdentifier",
                    "src": "24359:2:132"
                  },
                  "nativeSrc": "24356:22:132",
                  "nodeType": "YulIf",
                  "src": "24356:22:132"
                },
                {
                  "nativeSrc": "24387:7:132",
                  "nodeType": "YulAssignment",
                  "src": "24387:7:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24393:1:132",
                    "nodeType": "YulLiteral",
                    "src": "24393:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "24387:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "24387:2:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "24403:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24403:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24423:2:132",
                        "nodeType": "YulLiteral",
                        "src": "24423:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24417:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "24417:5:132"
                    },
                    "nativeSrc": "24417:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24417:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "24407:6:132",
                      "nodeType": "YulTypedName",
                      "src": "24407:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24435:34:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24435:34:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24457:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "24457:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24465:3:132",
                        "nodeType": "YulLiteral",
                        "src": "24465:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24453:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "24453:3:132"
                    },
                    "nativeSrc": "24453:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24453:16:132"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "24439:10:132",
                      "nodeType": "YulTypedName",
                      "src": "24439:10:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24544:22:132",
                    "nodeType": "YulBlock",
                    "src": "24544:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "24546:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "24546:16:132"
                          },
                          "nativeSrc": "24546:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "24546:18:132"
                        },
                        "nativeSrc": "24546:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "24546:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "24487:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "24487:10:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24499:18:132",
                            "nodeType": "YulLiteral",
                            "src": "24499:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "24484:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "24484:2:132"
                        },
                        "nativeSrc": "24484:34:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24484:34:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "24523:10:132",
                            "nodeType": "YulIdentifier",
                            "src": "24523:10:132"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "24535:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "24535:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "24520:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "24520:2:132"
                        },
                        "nativeSrc": "24520:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24520:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "24481:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "24481:2:132"
                    },
                    "nativeSrc": "24481:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24481:62:132"
                  },
                  "nativeSrc": "24478:88:132",
                  "nodeType": "YulIf",
                  "src": "24478:88:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24582:2:132",
                        "nodeType": "YulLiteral",
                        "src": "24582:2:132",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "24586:10:132",
                        "nodeType": "YulIdentifier",
                        "src": "24586:10:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24575:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "24575:6:132"
                    },
                    "nativeSrc": "24575:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24575:22:132"
                  },
                  "nativeSrc": "24575:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24575:22:132"
                },
                {
                  "nativeSrc": "24606:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24606:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24625:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "24625:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24619:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "24619:5:132"
                    },
                    "nativeSrc": "24619:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24619:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "24610:5:132",
                      "nodeType": "YulTypedName",
                      "src": "24610:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24666:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "24666:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "24644:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "24644:21:132"
                    },
                    "nativeSrc": "24644:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24644:28:132"
                  },
                  "nativeSrc": "24644:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24644:28:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "24688:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "24688:6:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "24696:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "24696:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24681:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "24681:6:132"
                    },
                    "nativeSrc": "24681:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24681:21:132"
                  },
                  "nativeSrc": "24681:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24681:21:132"
                },
                {
                  "nativeSrc": "24711:40:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24711:40:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24736:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "24736:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24747:2:132",
                            "nodeType": "YulLiteral",
                            "src": "24747:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24732:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "24732:3:132"
                        },
                        "nativeSrc": "24732:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24732:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24726:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "24726:5:132"
                    },
                    "nativeSrc": "24726:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24726:25:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "24715:7:132",
                      "nodeType": "YulTypedName",
                      "src": "24715:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "24784:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "24784:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "24760:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "24760:23:132"
                    },
                    "nativeSrc": "24760:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24760:32:132"
                  },
                  "nativeSrc": "24760:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24760:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "24812:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "24812:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24820:2:132",
                            "nodeType": "YulLiteral",
                            "src": "24820:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24808:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "24808:3:132"
                        },
                        "nativeSrc": "24808:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24808:15:132"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "24825:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "24825:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24801:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "24801:6:132"
                    },
                    "nativeSrc": "24801:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24801:32:132"
                  },
                  "nativeSrc": "24801:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24801:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "24853:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "24853:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24861:2:132",
                            "nodeType": "YulLiteral",
                            "src": "24861:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24849:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "24849:3:132"
                        },
                        "nativeSrc": "24849:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24849:15:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "24898:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "24898:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24909:2:132",
                                "nodeType": "YulLiteral",
                                "src": "24909:2:132",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24894:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "24894:3:132"
                            },
                            "nativeSrc": "24894:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "24894:18:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_int56_fromMemory",
                          "nativeSrc": "24866:27:132",
                          "nodeType": "YulIdentifier",
                          "src": "24866:27:132"
                        },
                        "nativeSrc": "24866:47:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24866:47:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24842:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "24842:6:132"
                    },
                    "nativeSrc": "24842:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24842:72:132"
                  },
                  "nativeSrc": "24842:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24842:72:132"
                },
                {
                  "nativeSrc": "24923:40:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24923:40:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24948:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "24948:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24959:2:132",
                            "nodeType": "YulLiteral",
                            "src": "24959:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24944:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "24944:3:132"
                        },
                        "nativeSrc": "24944:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "24944:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24938:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "24938:5:132"
                    },
                    "nativeSrc": "24938:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24938:25:132"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "24927:7:132",
                      "nodeType": "YulTypedName",
                      "src": "24927:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "24996:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "24996:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "24972:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "24972:23:132"
                    },
                    "nativeSrc": "24972:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "24972:32:132"
                  },
                  "nativeSrc": "24972:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "24972:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "25024:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25024:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25032:2:132",
                            "nodeType": "YulLiteral",
                            "src": "25032:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25020:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25020:3:132"
                        },
                        "nativeSrc": "25020:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25020:15:132"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "25037:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "25037:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25013:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25013:6:132"
                    },
                    "nativeSrc": "25013:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25013:32:132"
                  },
                  "nativeSrc": "25013:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25013:32:132"
                },
                {
                  "nativeSrc": "25054:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25054:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "25069:1:132",
                    "nodeType": "YulLiteral",
                    "src": "25069:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "25058:7:132",
                      "nodeType": "YulTypedName",
                      "src": "25058:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25079:37:132",
                  "nodeType": "YulAssignment",
                  "src": "25079:37:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25100:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "25100:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25111:3:132",
                            "nodeType": "YulLiteral",
                            "src": "25111:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25096:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25096:3:132"
                        },
                        "nativeSrc": "25096:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25096:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25090:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "25090:5:132"
                    },
                    "nativeSrc": "25090:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25090:26:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_3",
                      "nativeSrc": "25079:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "25079:7:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "25136:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25136:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25144:3:132",
                            "nodeType": "YulLiteral",
                            "src": "25144:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25132:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25132:3:132"
                        },
                        "nativeSrc": "25132:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25132:16:132"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "25150:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "25150:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25125:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25125:6:132"
                    },
                    "nativeSrc": "25125:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25125:33:132"
                  },
                  "nativeSrc": "25125:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25125:33:132"
                },
                {
                  "nativeSrc": "25167:16:132",
                  "nodeType": "YulAssignment",
                  "src": "25167:16:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "25177:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "25177:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "25167:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25167:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Price_$25294_memory_ptr_fromMemory",
            "nativeSrc": "24189:1000:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24260:9:132",
                "nodeType": "YulTypedName",
                "src": "24260:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "24271:7:132",
                "nodeType": "YulTypedName",
                "src": "24271:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "24283:6:132",
                "nodeType": "YulTypedName",
                "src": "24283:6:132",
                "type": ""
              }
            ],
            "src": "24189:1000:132"
          },
          {
            "body": {
              "nativeSrc": "25353:161:132",
              "nodeType": "YulBlock",
              "src": "25353:161:132",
              "statements": [
                {
                  "nativeSrc": "25363:26:132",
                  "nodeType": "YulAssignment",
                  "src": "25363:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25375:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "25375:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25386:2:132",
                        "nodeType": "YulLiteral",
                        "src": "25386:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25371:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "25371:3:132"
                    },
                    "nativeSrc": "25371:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25371:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25363:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "25363:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25405:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "25405:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "25420:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25420:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25432:3:132",
                                "nodeType": "YulLiteral",
                                "src": "25432:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25437:10:132",
                                "nodeType": "YulLiteral",
                                "src": "25437:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25428:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "25428:3:132"
                            },
                            "nativeSrc": "25428:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "25428:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25416:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25416:3:132"
                        },
                        "nativeSrc": "25416:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25416:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25398:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25398:6:132"
                    },
                    "nativeSrc": "25398:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25398:52:132"
                  },
                  "nativeSrc": "25398:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25398:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25470:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "25470:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25481:2:132",
                            "nodeType": "YulLiteral",
                            "src": "25481:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25466:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25466:3:132"
                        },
                        "nativeSrc": "25466:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25466:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "25490:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25490:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25498:8:132",
                            "nodeType": "YulLiteral",
                            "src": "25498:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25486:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25486:3:132"
                        },
                        "nativeSrc": "25486:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25486:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25459:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25459:6:132"
                    },
                    "nativeSrc": "25459:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25459:49:132"
                  },
                  "nativeSrc": "25459:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25459:49:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_uint24__to_t_bytes4_t_uint24__fromStack_library_reversed",
            "nativeSrc": "25194:320:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25314:9:132",
                "nodeType": "YulTypedName",
                "src": "25314:9:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25325:6:132",
                "nodeType": "YulTypedName",
                "src": "25325:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25333:6:132",
                "nodeType": "YulTypedName",
                "src": "25333:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25344:4:132",
                "nodeType": "YulTypedName",
                "src": "25344:4:132",
                "type": ""
              }
            ],
            "src": "25194:320:132"
          },
          {
            "body": {
              "nativeSrc": "25582:466:132",
              "nodeType": "YulBlock",
              "src": "25582:466:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25631:16:132",
                    "nodeType": "YulBlock",
                    "src": "25631:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25640:1:132",
                              "nodeType": "YulLiteral",
                              "src": "25640:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25643:1:132",
                              "nodeType": "YulLiteral",
                              "src": "25643:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25633:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25633:6:132"
                          },
                          "nativeSrc": "25633:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "25633:12:132"
                        },
                        "nativeSrc": "25633:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "25633:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "25610:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "25610:6:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25618:4:132",
                                "nodeType": "YulLiteral",
                                "src": "25618:4:132",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "25606:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "25606:3:132"
                            },
                            "nativeSrc": "25606:17:132",
                            "nodeType": "YulFunctionCall",
                            "src": "25606:17:132"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "25625:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "25625:3:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "25602:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25602:3:132"
                        },
                        "nativeSrc": "25602:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25602:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "25595:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25595:6:132"
                    },
                    "nativeSrc": "25595:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25595:35:132"
                  },
                  "nativeSrc": "25592:55:132",
                  "nodeType": "YulIf",
                  "src": "25592:55:132"
                },
                {
                  "nativeSrc": "25656:27:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25656:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25676:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "25676:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25670:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "25670:5:132"
                    },
                    "nativeSrc": "25670:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25670:13:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "25660:6:132",
                      "nodeType": "YulTypedName",
                      "src": "25660:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25692:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25692:45:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "25730:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "25730:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "25702:27:132",
                      "nodeType": "YulIdentifier",
                      "src": "25702:27:132"
                    },
                    "nativeSrc": "25702:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25702:35:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "25696:2:132",
                      "nodeType": "YulTypedName",
                      "src": "25696:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "25746:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25746:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "25766:2:132",
                        "nodeType": "YulLiteral",
                        "src": "25766:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25760:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "25760:5:132"
                    },
                    "nativeSrc": "25760:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25760:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "25750:6:132",
                      "nodeType": "YulTypedName",
                      "src": "25750:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "25798:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "25798:6:132"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "25806:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "25806:2:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "25778:19:132",
                      "nodeType": "YulIdentifier",
                      "src": "25778:19:132"
                    },
                    "nativeSrc": "25778:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25778:31:132"
                  },
                  "nativeSrc": "25778:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25778:31:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "25825:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "25825:6:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25833:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "25833:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25818:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25818:6:132"
                    },
                    "nativeSrc": "25818:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25818:22:132"
                  },
                  "nativeSrc": "25818:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25818:22:132"
                },
                {
                  "body": {
                    "nativeSrc": "25892:16:132",
                    "nodeType": "YulBlock",
                    "src": "25892:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25901:1:132",
                              "nodeType": "YulLiteral",
                              "src": "25901:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25904:1:132",
                              "nodeType": "YulLiteral",
                              "src": "25904:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25894:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25894:6:132"
                          },
                          "nativeSrc": "25894:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "25894:12:132"
                        },
                        "nativeSrc": "25894:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "25894:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "25863:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "25863:6:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "25871:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "25871:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "25859:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "25859:3:132"
                            },
                            "nativeSrc": "25859:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "25859:19:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25880:4:132",
                            "nodeType": "YulLiteral",
                            "src": "25880:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25855:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25855:3:132"
                        },
                        "nativeSrc": "25855:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25855:30:132"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "25887:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "25887:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25852:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "25852:2:132"
                    },
                    "nativeSrc": "25852:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25852:39:132"
                  },
                  "nativeSrc": "25849:59:132",
                  "nodeType": "YulIf",
                  "src": "25849:59:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "25927:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25927:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25935:4:132",
                            "nodeType": "YulLiteral",
                            "src": "25935:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25923:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25923:3:132"
                        },
                        "nativeSrc": "25923:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25923:17:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "25946:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "25946:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25954:4:132",
                            "nodeType": "YulLiteral",
                            "src": "25954:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25942:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25942:3:132"
                        },
                        "nativeSrc": "25942:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25942:17:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25961:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "25961:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "25917:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "25917:5:132"
                    },
                    "nativeSrc": "25917:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25917:51:132"
                  },
                  "nativeSrc": "25917:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25917:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "25992:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "25992:6:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "26000:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "26000:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "25988:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "25988:3:132"
                            },
                            "nativeSrc": "25988:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "25988:19:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26009:4:132",
                            "nodeType": "YulLiteral",
                            "src": "26009:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25984:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "25984:3:132"
                        },
                        "nativeSrc": "25984:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "25984:30:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26016:1:132",
                        "nodeType": "YulLiteral",
                        "src": "26016:1:132",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25977:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "25977:6:132"
                    },
                    "nativeSrc": "25977:41:132",
                    "nodeType": "YulFunctionCall",
                    "src": "25977:41:132"
                  },
                  "nativeSrc": "25977:41:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "25977:41:132"
                },
                {
                  "nativeSrc": "26027:15:132",
                  "nodeType": "YulAssignment",
                  "src": "26027:15:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26036:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "26036:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "26027:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "26027:5:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_bytes_fromMemory",
            "nativeSrc": "25519:529:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "25556:6:132",
                "nodeType": "YulTypedName",
                "src": "25556:6:132",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "25564:3:132",
                "nodeType": "YulTypedName",
                "src": "25564:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "25572:5:132",
                "nodeType": "YulTypedName",
                "src": "25572:5:132",
                "type": ""
              }
            ],
            "src": "25519:529:132"
          },
          {
            "body": {
              "nativeSrc": "26168:356:132",
              "nodeType": "YulBlock",
              "src": "26168:356:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "26214:16:132",
                    "nodeType": "YulBlock",
                    "src": "26214:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26223:1:132",
                              "nodeType": "YulLiteral",
                              "src": "26223:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26226:1:132",
                              "nodeType": "YulLiteral",
                              "src": "26226:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26216:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "26216:6:132"
                          },
                          "nativeSrc": "26216:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "26216:12:132"
                        },
                        "nativeSrc": "26216:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "26216:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26189:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "26189:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26198:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "26198:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26185:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "26185:3:132"
                        },
                        "nativeSrc": "26185:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "26185:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26210:2:132",
                        "nodeType": "YulLiteral",
                        "src": "26210:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26181:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "26181:3:132"
                    },
                    "nativeSrc": "26181:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26181:32:132"
                  },
                  "nativeSrc": "26178:52:132",
                  "nodeType": "YulIf",
                  "src": "26178:52:132"
                },
                {
                  "nativeSrc": "26239:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26239:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26258:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "26258:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26252:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "26252:5:132"
                    },
                    "nativeSrc": "26252:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26252:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "26243:5:132",
                      "nodeType": "YulTypedName",
                      "src": "26243:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "26302:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "26302:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "26277:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "26277:24:132"
                    },
                    "nativeSrc": "26277:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26277:31:132"
                  },
                  "nativeSrc": "26277:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "26277:31:132"
                },
                {
                  "nativeSrc": "26317:15:132",
                  "nodeType": "YulAssignment",
                  "src": "26317:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "26327:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "26327:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "26317:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "26317:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "26341:39:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26341:39:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26365:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "26365:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26376:2:132",
                            "nodeType": "YulLiteral",
                            "src": "26376:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26361:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "26361:3:132"
                        },
                        "nativeSrc": "26361:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "26361:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26355:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "26355:5:132"
                    },
                    "nativeSrc": "26355:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26355:25:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26345:6:132",
                      "nodeType": "YulTypedName",
                      "src": "26345:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26423:16:132",
                    "nodeType": "YulBlock",
                    "src": "26423:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26432:1:132",
                              "nodeType": "YulLiteral",
                              "src": "26432:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26435:1:132",
                              "nodeType": "YulLiteral",
                              "src": "26435:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26425:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "26425:6:132"
                          },
                          "nativeSrc": "26425:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "26425:12:132"
                        },
                        "nativeSrc": "26425:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "26425:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26395:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "26395:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26403:18:132",
                        "nodeType": "YulLiteral",
                        "src": "26403:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26392:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "26392:2:132"
                    },
                    "nativeSrc": "26392:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26392:30:132"
                  },
                  "nativeSrc": "26389:50:132",
                  "nodeType": "YulIf",
                  "src": "26389:50:132"
                },
                {
                  "nativeSrc": "26448:70:132",
                  "nodeType": "YulAssignment",
                  "src": "26448:70:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26490:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "26490:9:132"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "26501:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "26501:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26486:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "26486:3:132"
                        },
                        "nativeSrc": "26486:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "26486:22:132"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "26510:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "26510:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_fromMemory",
                      "nativeSrc": "26458:27:132",
                      "nodeType": "YulIdentifier",
                      "src": "26458:27:132"
                    },
                    "nativeSrc": "26458:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26458:60:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "26448:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "26448:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "26053:471:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26126:9:132",
                "nodeType": "YulTypedName",
                "src": "26126:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26137:7:132",
                "nodeType": "YulTypedName",
                "src": "26137:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26149:6:132",
                "nodeType": "YulTypedName",
                "src": "26149:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "26157:6:132",
                "nodeType": "YulTypedName",
                "src": "26157:6:132",
                "type": ""
              }
            ],
            "src": "26053:471:132"
          },
          {
            "body": {
              "nativeSrc": "26703:163:132",
              "nodeType": "YulBlock",
              "src": "26703:163:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26720:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "26720:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26731:2:132",
                        "nodeType": "YulLiteral",
                        "src": "26731:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26713:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "26713:6:132"
                    },
                    "nativeSrc": "26713:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26713:21:132"
                  },
                  "nativeSrc": "26713:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "26713:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26754:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "26754:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26765:2:132",
                            "nodeType": "YulLiteral",
                            "src": "26765:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26750:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "26750:3:132"
                        },
                        "nativeSrc": "26750:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "26750:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26770:2:132",
                        "nodeType": "YulLiteral",
                        "src": "26770:2:132",
                        "type": "",
                        "value": "13"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26743:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "26743:6:132"
                    },
                    "nativeSrc": "26743:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26743:30:132"
                  },
                  "nativeSrc": "26743:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "26743:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26793:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "26793:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26804:2:132",
                            "nodeType": "YulLiteral",
                            "src": "26804:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26789:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "26789:3:132"
                        },
                        "nativeSrc": "26789:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "26789:18:132"
                      },
                      {
                        "hexValue": "6e6f7420746865206f776e6572",
                        "kind": "string",
                        "nativeSrc": "26809:15:132",
                        "nodeType": "YulLiteral",
                        "src": "26809:15:132",
                        "type": "",
                        "value": "not the owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26782:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "26782:6:132"
                    },
                    "nativeSrc": "26782:43:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26782:43:132"
                  },
                  "nativeSrc": "26782:43:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "26782:43:132"
                },
                {
                  "nativeSrc": "26834:26:132",
                  "nodeType": "YulAssignment",
                  "src": "26834:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26846:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "26846:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26857:2:132",
                        "nodeType": "YulLiteral",
                        "src": "26857:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26842:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "26842:3:132"
                    },
                    "nativeSrc": "26842:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "26842:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26834:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "26834:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "26529:337:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26680:9:132",
                "nodeType": "YulTypedName",
                "src": "26680:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "26694:4:132",
                "nodeType": "YulTypedName",
                "src": "26694:4:132",
                "type": ""
              }
            ],
            "src": "26529:337:132"
          },
          {
            "body": {
              "nativeSrc": "27045:178:132",
              "nodeType": "YulBlock",
              "src": "27045:178:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27062:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "27062:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27073:2:132",
                        "nodeType": "YulLiteral",
                        "src": "27073:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27055:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27055:6:132"
                    },
                    "nativeSrc": "27055:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27055:21:132"
                  },
                  "nativeSrc": "27055:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27055:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27096:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "27096:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27107:2:132",
                            "nodeType": "YulLiteral",
                            "src": "27107:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27092:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27092:3:132"
                        },
                        "nativeSrc": "27092:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27092:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27112:2:132",
                        "nodeType": "YulLiteral",
                        "src": "27112:2:132",
                        "type": "",
                        "value": "28"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27085:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27085:6:132"
                    },
                    "nativeSrc": "27085:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27085:30:132"
                  },
                  "nativeSrc": "27085:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27085:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27135:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "27135:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27146:2:132",
                            "nodeType": "YulLiteral",
                            "src": "27146:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27131:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27131:3:132"
                        },
                        "nativeSrc": "27131:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27131:18:132"
                      },
                      {
                        "hexValue": "616c726561647920696e697469616c697a656420636f646568617368",
                        "kind": "string",
                        "nativeSrc": "27151:30:132",
                        "nodeType": "YulLiteral",
                        "src": "27151:30:132",
                        "type": "",
                        "value": "already initialized codehash"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27124:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27124:6:132"
                    },
                    "nativeSrc": "27124:58:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27124:58:132"
                  },
                  "nativeSrc": "27124:58:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27124:58:132"
                },
                {
                  "nativeSrc": "27191:26:132",
                  "nodeType": "YulAssignment",
                  "src": "27191:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27203:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "27203:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27214:2:132",
                        "nodeType": "YulLiteral",
                        "src": "27214:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27199:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "27199:3:132"
                    },
                    "nativeSrc": "27199:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27199:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "27191:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "27191:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "26871:352:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27022:9:132",
                "nodeType": "YulTypedName",
                "src": "27022:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "27036:4:132",
                "nodeType": "YulTypedName",
                "src": "27036:4:132",
                "type": ""
              }
            ],
            "src": "26871:352:132"
          },
          {
            "body": {
              "nativeSrc": "27383:162:132",
              "nodeType": "YulBlock",
              "src": "27383:162:132",
              "statements": [
                {
                  "nativeSrc": "27393:26:132",
                  "nodeType": "YulAssignment",
                  "src": "27393:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27405:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "27405:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27416:2:132",
                        "nodeType": "YulLiteral",
                        "src": "27416:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27401:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "27401:3:132"
                    },
                    "nativeSrc": "27401:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27401:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "27393:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "27393:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27435:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "27435:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "27450:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "27450:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27462:3:132",
                                "nodeType": "YulLiteral",
                                "src": "27462:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27467:10:132",
                                "nodeType": "YulLiteral",
                                "src": "27467:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27458:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "27458:3:132"
                            },
                            "nativeSrc": "27458:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "27458:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "27446:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27446:3:132"
                        },
                        "nativeSrc": "27446:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27446:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27428:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27428:6:132"
                    },
                    "nativeSrc": "27428:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27428:52:132"
                  },
                  "nativeSrc": "27428:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27428:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27500:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "27500:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27511:2:132",
                            "nodeType": "YulLiteral",
                            "src": "27511:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27496:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27496:3:132"
                        },
                        "nativeSrc": "27496:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27496:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value1",
                                "nativeSrc": "27530:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "27530:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "27523:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "27523:6:132"
                            },
                            "nativeSrc": "27523:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "27523:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "27516:6:132",
                          "nodeType": "YulIdentifier",
                          "src": "27516:6:132"
                        },
                        "nativeSrc": "27516:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27516:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27489:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27489:6:132"
                    },
                    "nativeSrc": "27489:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27489:50:132"
                  },
                  "nativeSrc": "27489:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27489:50:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_bool__to_t_bytes4_t_bool__fromStack_library_reversed",
            "nativeSrc": "27228:317:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27344:9:132",
                "nodeType": "YulTypedName",
                "src": "27344:9:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "27355:6:132",
                "nodeType": "YulTypedName",
                "src": "27355:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27363:6:132",
                "nodeType": "YulTypedName",
                "src": "27363:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "27374:4:132",
                "nodeType": "YulTypedName",
                "src": "27374:4:132",
                "type": ""
              }
            ],
            "src": "27228:317:132"
          },
          {
            "body": {
              "nativeSrc": "27617:200:132",
              "nodeType": "YulBlock",
              "src": "27617:200:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27634:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "27634:3:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "27639:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "27639:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27627:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27627:6:132"
                    },
                    "nativeSrc": "27627:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27627:19:132"
                  },
                  "nativeSrc": "27627:19:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27627:19:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "27672:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "27672:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27677:4:132",
                            "nodeType": "YulLiteral",
                            "src": "27677:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27668:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27668:3:132"
                        },
                        "nativeSrc": "27668:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27668:14:132"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "27684:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "27684:5:132"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "27691:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "27691:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "27655:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "27655:12:132"
                    },
                    "nativeSrc": "27655:43:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27655:43:132"
                  },
                  "nativeSrc": "27655:43:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27655:43:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "27722:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "27722:3:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "27727:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "27727:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "27718:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "27718:3:132"
                            },
                            "nativeSrc": "27718:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "27718:16:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27736:4:132",
                            "nodeType": "YulLiteral",
                            "src": "27736:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27714:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27714:3:132"
                        },
                        "nativeSrc": "27714:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27714:27:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27743:1:132",
                        "nodeType": "YulLiteral",
                        "src": "27743:1:132",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27707:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "27707:6:132"
                    },
                    "nativeSrc": "27707:38:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27707:38:132"
                  },
                  "nativeSrc": "27707:38:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "27707:38:132"
                },
                {
                  "nativeSrc": "27754:57:132",
                  "nodeType": "YulAssignment",
                  "src": "27754:57:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "27769:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "27769:3:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "27782:6:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "27782:6:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27790:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "27790:2:132",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "27778:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "27778:3:132"
                                },
                                "nativeSrc": "27778:15:132",
                                "nodeType": "YulFunctionCall",
                                "src": "27778:15:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27799:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "27799:2:132",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "27795:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "27795:3:132"
                                },
                                "nativeSrc": "27795:7:132",
                                "nodeType": "YulFunctionCall",
                                "src": "27795:7:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "27774:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "27774:3:132"
                            },
                            "nativeSrc": "27774:29:132",
                            "nodeType": "YulFunctionCall",
                            "src": "27774:29:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27765:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "27765:3:132"
                        },
                        "nativeSrc": "27765:39:132",
                        "nodeType": "YulFunctionCall",
                        "src": "27765:39:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27806:4:132",
                        "nodeType": "YulLiteral",
                        "src": "27806:4:132",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27761:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "27761:3:132"
                    },
                    "nativeSrc": "27761:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "27761:50:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "27754:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "27754:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_calldata",
            "nativeSrc": "27550:267:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "27586:5:132",
                "nodeType": "YulTypedName",
                "src": "27586:5:132",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "27593:6:132",
                "nodeType": "YulTypedName",
                "src": "27593:6:132",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "27601:3:132",
                "nodeType": "YulTypedName",
                "src": "27601:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "27609:3:132",
                "nodeType": "YulTypedName",
                "src": "27609:3:132",
                "type": ""
              }
            ],
            "src": "27550:267:132"
          },
          {
            "body": {
              "nativeSrc": "28005:186:132",
              "nodeType": "YulBlock",
              "src": "28005:186:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28022:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "28022:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28037:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "28037:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28049:3:132",
                                "nodeType": "YulLiteral",
                                "src": "28049:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28054:10:132",
                                "nodeType": "YulLiteral",
                                "src": "28054:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28045:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "28045:3:132"
                            },
                            "nativeSrc": "28045:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "28045:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28033:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "28033:3:132"
                        },
                        "nativeSrc": "28033:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "28033:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28015:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "28015:6:132"
                    },
                    "nativeSrc": "28015:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28015:52:132"
                  },
                  "nativeSrc": "28015:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "28015:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28087:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "28087:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28098:2:132",
                            "nodeType": "YulLiteral",
                            "src": "28098:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28083:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "28083:3:132"
                        },
                        "nativeSrc": "28083:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "28083:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28103:2:132",
                        "nodeType": "YulLiteral",
                        "src": "28103:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28076:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "28076:6:132"
                    },
                    "nativeSrc": "28076:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28076:30:132"
                  },
                  "nativeSrc": "28076:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "28076:30:132"
                },
                {
                  "nativeSrc": "28115:70:132",
                  "nodeType": "YulAssignment",
                  "src": "28115:70:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "28150:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "28150:6:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28158:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "28158:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28170:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "28170:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28181:2:132",
                            "nodeType": "YulLiteral",
                            "src": "28181:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28166:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "28166:3:132"
                        },
                        "nativeSrc": "28166:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "28166:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "28123:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "28123:26:132"
                    },
                    "nativeSrc": "28123:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28123:62:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28115:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "28115:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_calldata_ptr__to_t_bytes4_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "27822:369:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27958:9:132",
                "nodeType": "YulTypedName",
                "src": "27958:9:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "27969:6:132",
                "nodeType": "YulTypedName",
                "src": "27969:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "27977:6:132",
                "nodeType": "YulTypedName",
                "src": "27977:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27985:6:132",
                "nodeType": "YulTypedName",
                "src": "27985:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "27996:4:132",
                "nodeType": "YulTypedName",
                "src": "27996:4:132",
                "type": ""
              }
            ],
            "src": "27822:369:132"
          },
          {
            "body": {
              "nativeSrc": "28276:187:132",
              "nodeType": "YulBlock",
              "src": "28276:187:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "28322:16:132",
                    "nodeType": "YulBlock",
                    "src": "28322:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28331:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28331:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28334:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28334:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28324:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "28324:6:132"
                          },
                          "nativeSrc": "28324:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "28324:12:132"
                        },
                        "nativeSrc": "28324:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "28324:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28297:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "28297:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28306:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "28306:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28293:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "28293:3:132"
                        },
                        "nativeSrc": "28293:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "28293:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28318:2:132",
                        "nodeType": "YulLiteral",
                        "src": "28318:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28289:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "28289:3:132"
                    },
                    "nativeSrc": "28289:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28289:32:132"
                  },
                  "nativeSrc": "28286:52:132",
                  "nodeType": "YulIf",
                  "src": "28286:52:132"
                },
                {
                  "nativeSrc": "28347:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28347:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28366:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "28366:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28360:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "28360:5:132"
                    },
                    "nativeSrc": "28360:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28360:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "28351:5:132",
                      "nodeType": "YulTypedName",
                      "src": "28351:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "28427:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "28427:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "28385:41:132",
                      "nodeType": "YulIdentifier",
                      "src": "28385:41:132"
                    },
                    "nativeSrc": "28385:48:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28385:48:132"
                  },
                  "nativeSrc": "28385:48:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "28385:48:132"
                },
                {
                  "nativeSrc": "28442:15:132",
                  "nodeType": "YulAssignment",
                  "src": "28442:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "28452:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "28452:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "28442:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "28442:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "28196:267:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28242:9:132",
                "nodeType": "YulTypedName",
                "src": "28242:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "28253:7:132",
                "nodeType": "YulTypedName",
                "src": "28253:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "28265:6:132",
                "nodeType": "YulTypedName",
                "src": "28265:6:132",
                "type": ""
              }
            ],
            "src": "28196:267:132"
          },
          {
            "body": {
              "nativeSrc": "28545:424:132",
              "nodeType": "YulBlock",
              "src": "28545:424:132",
              "statements": [
                {
                  "nativeSrc": "28555:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28555:43:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "28594:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "28594:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "28581:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "28581:12:132"
                    },
                    "nativeSrc": "28581:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28581:17:132"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "28559:18:132",
                      "nodeType": "YulTypedName",
                      "src": "28559:18:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28687:16:132",
                    "nodeType": "YulBlock",
                    "src": "28687:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28696:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28696:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28699:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28699:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28689:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "28689:6:132"
                          },
                          "nativeSrc": "28689:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "28689:12:132"
                        },
                        "nativeSrc": "28689:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "28689:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "28621:18:132",
                            "nodeType": "YulIdentifier",
                            "src": "28621:18:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "28649:12:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "28649:12:132"
                                    },
                                    "nativeSrc": "28649:14:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "28649:14:132"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "28665:8:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "28665:8:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "28645:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "28645:3:132"
                                },
                                "nativeSrc": "28645:29:132",
                                "nodeType": "YulFunctionCall",
                                "src": "28645:29:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28680:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "28680:2:132",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "28676:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "28676:3:132"
                                },
                                "nativeSrc": "28676:7:132",
                                "nodeType": "YulFunctionCall",
                                "src": "28676:7:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28641:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "28641:3:132"
                            },
                            "nativeSrc": "28641:43:132",
                            "nodeType": "YulFunctionCall",
                            "src": "28641:43:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "28617:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "28617:3:132"
                        },
                        "nativeSrc": "28617:68:132",
                        "nodeType": "YulFunctionCall",
                        "src": "28617:68:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28610:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "28610:6:132"
                    },
                    "nativeSrc": "28610:76:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28610:76:132"
                  },
                  "nativeSrc": "28607:96:132",
                  "nodeType": "YulIf",
                  "src": "28607:96:132"
                },
                {
                  "nativeSrc": "28712:48:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28712:48:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "28731:18:132",
                        "nodeType": "YulIdentifier",
                        "src": "28731:18:132"
                      },
                      {
                        "name": "base_ref",
                        "nativeSrc": "28751:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "28751:8:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28727:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "28727:3:132"
                    },
                    "nativeSrc": "28727:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28727:33:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "28716:7:132",
                      "nodeType": "YulTypedName",
                      "src": "28716:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28769:31:132",
                  "nodeType": "YulAssignment",
                  "src": "28769:31:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "28792:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "28792:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "28779:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "28779:12:132"
                    },
                    "nativeSrc": "28779:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28779:21:132"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "28769:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "28769:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "28809:27:132",
                  "nodeType": "YulAssignment",
                  "src": "28809:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "28822:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "28822:7:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28831:4:132",
                        "nodeType": "YulLiteral",
                        "src": "28831:4:132",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28818:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "28818:3:132"
                    },
                    "nativeSrc": "28818:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28818:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "28809:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "28809:5:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28879:16:132",
                    "nodeType": "YulBlock",
                    "src": "28879:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28888:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28888:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28891:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28891:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28881:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "28881:6:132"
                          },
                          "nativeSrc": "28881:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "28881:12:132"
                        },
                        "nativeSrc": "28881:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "28881:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "28851:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "28851:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28859:18:132",
                        "nodeType": "YulLiteral",
                        "src": "28859:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28848:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "28848:2:132"
                    },
                    "nativeSrc": "28848:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28848:30:132"
                  },
                  "nativeSrc": "28845:50:132",
                  "nodeType": "YulIf",
                  "src": "28845:50:132"
                },
                {
                  "body": {
                    "nativeSrc": "28947:16:132",
                    "nodeType": "YulBlock",
                    "src": "28947:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28956:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28956:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28959:1:132",
                              "nodeType": "YulLiteral",
                              "src": "28959:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28949:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "28949:6:132"
                          },
                          "nativeSrc": "28949:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "28949:12:132"
                        },
                        "nativeSrc": "28949:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "28949:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "28911:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "28911:5:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "28922:12:132",
                              "nodeType": "YulIdentifier",
                              "src": "28922:12:132"
                            },
                            "nativeSrc": "28922:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "28922:14:132"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "28938:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "28938:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28918:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "28918:3:132"
                        },
                        "nativeSrc": "28918:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "28918:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "28907:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "28907:3:132"
                    },
                    "nativeSrc": "28907:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "28907:39:132"
                  },
                  "nativeSrc": "28904:59:132",
                  "nodeType": "YulIf",
                  "src": "28904:59:132"
                }
              ]
            },
            "name": "calldata_access_string_calldata",
            "nativeSrc": "28468:501:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "28509:8:132",
                "nodeType": "YulTypedName",
                "src": "28509:8:132",
                "type": ""
              },
              {
                "name": "ptr",
                "nativeSrc": "28519:3:132",
                "nodeType": "YulTypedName",
                "src": "28519:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "28527:5:132",
                "nodeType": "YulTypedName",
                "src": "28527:5:132",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "28534:6:132",
                "nodeType": "YulTypedName",
                "src": "28534:6:132",
                "type": ""
              }
            ],
            "src": "28468:501:132"
          },
          {
            "body": {
              "nativeSrc": "29284:900:132",
              "nodeType": "YulBlock",
              "src": "29284:900:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29301:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "29301:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29312:3:132",
                        "nodeType": "YulLiteral",
                        "src": "29312:3:132",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29294:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "29294:6:132"
                    },
                    "nativeSrc": "29294:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29294:22:132"
                  },
                  "nativeSrc": "29294:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "29294:22:132"
                },
                {
                  "nativeSrc": "29325:77:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29325:77:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "29366:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29366:6:132"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "29374:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29374:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29386:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "29386:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29397:3:132",
                            "nodeType": "YulLiteral",
                            "src": "29397:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29382:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "29382:3:132"
                        },
                        "nativeSrc": "29382:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29382:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "29339:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "29339:26:132"
                    },
                    "nativeSrc": "29339:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29339:63:132"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "29329:6:132",
                      "nodeType": "YulTypedName",
                      "src": "29329:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29422:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "29422:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29433:2:132",
                            "nodeType": "YulLiteral",
                            "src": "29433:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29418:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "29418:3:132"
                        },
                        "nativeSrc": "29418:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29418:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "29449:1:132",
                            "nodeType": "YulLiteral",
                            "src": "29449:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value2",
                            "nativeSrc": "29452:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "29452:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "29438:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "29438:10:132"
                        },
                        "nativeSrc": "29438:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29438:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29411:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "29411:6:132"
                    },
                    "nativeSrc": "29411:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29411:49:132"
                  },
                  "nativeSrc": "29411:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "29411:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "29493:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29493:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29505:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "29505:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29516:2:132",
                            "nodeType": "YulLiteral",
                            "src": "29516:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29501:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "29501:3:132"
                        },
                        "nativeSrc": "29501:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29501:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Mappers",
                      "nativeSrc": "29469:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "29469:23:132"
                    },
                    "nativeSrc": "29469:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29469:51:132"
                  },
                  "nativeSrc": "29469:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "29469:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29540:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "29540:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29551:2:132",
                            "nodeType": "YulLiteral",
                            "src": "29551:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29536:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "29536:3:132"
                        },
                        "nativeSrc": "29536:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29536:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "29560:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "29560:6:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "29568:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "29568:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "29556:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "29556:3:132"
                        },
                        "nativeSrc": "29556:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29556:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29529:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "29529:6:132"
                    },
                    "nativeSrc": "29529:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29529:50:132"
                  },
                  "nativeSrc": "29529:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "29529:50:132"
                },
                {
                  "nativeSrc": "29588:17:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29588:17:132",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "29599:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "29599:6:132"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "29592:3:132",
                      "nodeType": "YulTypedName",
                      "src": "29592:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29621:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29621:6:132"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "29629:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29629:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29614:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "29614:6:132"
                    },
                    "nativeSrc": "29614:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29614:22:132"
                  },
                  "nativeSrc": "29614:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "29614:22:132"
                },
                {
                  "nativeSrc": "29645:22:132",
                  "nodeType": "YulAssignment",
                  "src": "29645:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29656:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29656:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29664:2:132",
                        "nodeType": "YulLiteral",
                        "src": "29664:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29652:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "29652:3:132"
                    },
                    "nativeSrc": "29652:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29652:15:132"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "29645:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "29645:3:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "29676:50:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29676:50:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "29698:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "29698:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29710:1:132",
                                "nodeType": "YulLiteral",
                                "src": "29710:1:132",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value5",
                                "nativeSrc": "29713:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "29713:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29706:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "29706:3:132"
                            },
                            "nativeSrc": "29706:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "29706:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29694:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "29694:3:132"
                        },
                        "nativeSrc": "29694:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "29694:27:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29723:2:132",
                        "nodeType": "YulLiteral",
                        "src": "29723:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29690:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "29690:3:132"
                    },
                    "nativeSrc": "29690:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29690:36:132"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "29680:6:132",
                      "nodeType": "YulTypedName",
                      "src": "29680:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29735:20:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29735:20:132",
                  "value": {
                    "name": "value4",
                    "nativeSrc": "29749:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "29749:6:132"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "29739:6:132",
                      "nodeType": "YulTypedName",
                      "src": "29739:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29764:10:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29764:10:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "29773:1:132",
                    "nodeType": "YulLiteral",
                    "src": "29773:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "29768:1:132",
                      "nodeType": "YulTypedName",
                      "src": "29768:1:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29832:323:132",
                    "nodeType": "YulBlock",
                    "src": "29832:323:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "29853:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "29853:3:132"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "29866:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "29866:6:132"
                                    },
                                    {
                                      "name": "tail_1",
                                      "nativeSrc": "29874:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "29874:6:132"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "29862:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "29862:3:132"
                                  },
                                  "nativeSrc": "29862:19:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29862:19:132"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "29887:2:132",
                                      "nodeType": "YulLiteral",
                                      "src": "29887:2:132",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "29883:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "29883:3:132"
                                  },
                                  "nativeSrc": "29883:7:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29883:7:132"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "29858:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "29858:3:132"
                              },
                              "nativeSrc": "29858:33:132",
                              "nodeType": "YulFunctionCall",
                              "src": "29858:33:132"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29846:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "29846:6:132"
                          },
                          "nativeSrc": "29846:46:132",
                          "nodeType": "YulFunctionCall",
                          "src": "29846:46:132"
                        },
                        "nativeSrc": "29846:46:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "29846:46:132"
                      },
                      {
                        "nativeSrc": "29905:83:132",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29905:83:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "value4",
                              "nativeSrc": "29973:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "29973:6:132"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "29981:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "29981:6:132"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "29941:31:132",
                            "nodeType": "YulIdentifier",
                            "src": "29941:31:132"
                          },
                          "nativeSrc": "29941:47:132",
                          "nodeType": "YulFunctionCall",
                          "src": "29941:47:132"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "29909:13:132",
                            "nodeType": "YulTypedName",
                            "src": "29909:13:132",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "29924:13:132",
                            "nodeType": "YulTypedName",
                            "src": "29924:13:132",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30001:74:132",
                        "nodeType": "YulAssignment",
                        "src": "30001:74:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "30038:13:132",
                              "nodeType": "YulIdentifier",
                              "src": "30038:13:132"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "30053:13:132",
                              "nodeType": "YulIdentifier",
                              "src": "30053:13:132"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "30068:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "30068:6:132"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "30011:26:132",
                            "nodeType": "YulIdentifier",
                            "src": "30011:26:132"
                          },
                          "nativeSrc": "30011:64:132",
                          "nodeType": "YulFunctionCall",
                          "src": "30011:64:132"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "30001:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "30001:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30088:25:132",
                        "nodeType": "YulAssignment",
                        "src": "30088:25:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "30102:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "30102:6:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30110:2:132",
                              "nodeType": "YulLiteral",
                              "src": "30110:2:132",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30098:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "30098:3:132"
                          },
                          "nativeSrc": "30098:15:132",
                          "nodeType": "YulFunctionCall",
                          "src": "30098:15:132"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "30088:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "30088:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30126:19:132",
                        "nodeType": "YulAssignment",
                        "src": "30126:19:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "30137:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30137:3:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30142:2:132",
                              "nodeType": "YulLiteral",
                              "src": "30142:2:132",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30133:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "30133:3:132"
                          },
                          "nativeSrc": "30133:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "30133:12:132"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "30126:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "30126:3:132"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "29794:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "29794:1:132"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "29797:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "29797:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29791:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "29791:2:132"
                    },
                    "nativeSrc": "29791:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "29791:13:132"
                  },
                  "nativeSrc": "29783:372:132",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29805:18:132",
                    "nodeType": "YulBlock",
                    "src": "29805:18:132",
                    "statements": [
                      {
                        "nativeSrc": "29807:14:132",
                        "nodeType": "YulAssignment",
                        "src": "29807:14:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "29816:1:132",
                              "nodeType": "YulIdentifier",
                              "src": "29816:1:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29819:1:132",
                              "nodeType": "YulLiteral",
                              "src": "29819:1:132",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29812:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "29812:3:132"
                          },
                          "nativeSrc": "29812:9:132",
                          "nodeType": "YulFunctionCall",
                          "src": "29812:9:132"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "29807:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "29807:1:132"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29787:3:132",
                    "nodeType": "YulBlock",
                    "src": "29787:3:132",
                    "statements": []
                  },
                  "src": "29783:372:132"
                },
                {
                  "nativeSrc": "30164:14:132",
                  "nodeType": "YulAssignment",
                  "src": "30164:14:132",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "30172:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "30172:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30164:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "30164:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$25259_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "28974:1210:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29213:9:132",
                "nodeType": "YulTypedName",
                "src": "29213:9:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "29224:6:132",
                "nodeType": "YulTypedName",
                "src": "29224:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "29232:6:132",
                "nodeType": "YulTypedName",
                "src": "29232:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "29240:6:132",
                "nodeType": "YulTypedName",
                "src": "29240:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "29248:6:132",
                "nodeType": "YulTypedName",
                "src": "29248:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "29256:6:132",
                "nodeType": "YulTypedName",
                "src": "29256:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "29264:6:132",
                "nodeType": "YulTypedName",
                "src": "29264:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29275:4:132",
                "nodeType": "YulTypedName",
                "src": "29275:4:132",
                "type": ""
              }
            ],
            "src": "28974:1210:132"
          },
          {
            "body": {
              "nativeSrc": "30232:136:132",
              "nodeType": "YulBlock",
              "src": "30232:136:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30277:85:132",
                    "nodeType": "YulBlock",
                    "src": "30277:85:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30306:1:132",
                              "nodeType": "YulLiteral",
                              "src": "30306:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30309:1:132",
                              "nodeType": "YulLiteral",
                              "src": "30309:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30312:1:132",
                              "nodeType": "YulLiteral",
                              "src": "30312:1:132",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "30291:14:132",
                            "nodeType": "YulIdentifier",
                            "src": "30291:14:132"
                          },
                          "nativeSrc": "30291:23:132",
                          "nodeType": "YulFunctionCall",
                          "src": "30291:23:132"
                        },
                        "nativeSrc": "30291:23:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "30291:23:132"
                      },
                      {
                        "nativeSrc": "30327:25:132",
                        "nodeType": "YulAssignment",
                        "src": "30327:25:132",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30338:3:132",
                              "nodeType": "YulLiteral",
                              "src": "30338:3:132",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "30349:1:132",
                                  "nodeType": "YulLiteral",
                                  "src": "30349:1:132",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "30343:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "30343:5:132"
                              },
                              "nativeSrc": "30343:8:132",
                              "nodeType": "YulFunctionCall",
                              "src": "30343:8:132"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "30334:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "30334:3:132"
                          },
                          "nativeSrc": "30334:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "30334:18:132"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "30327:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "30327:3:132"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "30248:14:132",
                          "nodeType": "YulIdentifier",
                          "src": "30248:14:132"
                        },
                        "nativeSrc": "30248:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30248:16:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30266:1:132",
                        "nodeType": "YulLiteral",
                        "src": "30266:1:132",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30245:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "30245:2:132"
                    },
                    "nativeSrc": "30245:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30245:23:132"
                  },
                  "nativeSrc": "30242:120:132",
                  "nodeType": "YulIf",
                  "src": "30242:120:132"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "30189:179:132",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "30224:3:132",
                "nodeType": "YulTypedName",
                "src": "30224:3:132",
                "type": ""
              }
            ],
            "src": "30189:179:132"
          },
          {
            "body": {
              "nativeSrc": "30420:581:132",
              "nodeType": "YulBlock",
              "src": "30420:581:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30460:9:132",
                    "nodeType": "YulBlock",
                    "src": "30460:9:132",
                    "statements": [
                      {
                        "nativeSrc": "30462:5:132",
                        "nodeType": "YulLeave",
                        "src": "30462:5:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "30436:14:132",
                          "nodeType": "YulIdentifier",
                          "src": "30436:14:132"
                        },
                        "nativeSrc": "30436:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30436:16:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30454:4:132",
                        "nodeType": "YulLiteral",
                        "src": "30454:4:132",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "30433:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "30433:2:132"
                    },
                    "nativeSrc": "30433:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30433:26:132"
                  },
                  "nativeSrc": "30430:39:132",
                  "nodeType": "YulIf",
                  "src": "30430:39:132"
                },
                {
                  "nativeSrc": "30478:21:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30478:21:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "30496:2:132",
                        "nodeType": "YulLiteral",
                        "src": "30496:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30490:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "30490:5:132"
                    },
                    "nativeSrc": "30490:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30490:9:132"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "30482:4:132",
                      "nodeType": "YulTypedName",
                      "src": "30482:4:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30523:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "30523:4:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30529:1:132",
                        "nodeType": "YulLiteral",
                        "src": "30529:1:132",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "30536:14:132",
                              "nodeType": "YulIdentifier",
                              "src": "30536:14:132"
                            },
                            "nativeSrc": "30536:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30536:16:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "30558:1:132",
                                "nodeType": "YulLiteral",
                                "src": "30558:1:132",
                                "type": "",
                                "value": "3"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "30554:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30554:3:132"
                            },
                            "nativeSrc": "30554:6:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30554:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30532:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "30532:3:132"
                        },
                        "nativeSrc": "30532:29:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30532:29:132"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "30508:14:132",
                      "nodeType": "YulIdentifier",
                      "src": "30508:14:132"
                    },
                    "nativeSrc": "30508:54:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30508:54:132"
                  },
                  "nativeSrc": "30508:54:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "30508:54:132"
                },
                {
                  "nativeSrc": "30571:25:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30571:25:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30591:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "30591:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30585:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "30585:5:132"
                    },
                    "nativeSrc": "30585:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30585:11:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "30575:6:132",
                      "nodeType": "YulTypedName",
                      "src": "30575:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30684:9:132",
                    "nodeType": "YulBlock",
                    "src": "30684:9:132",
                    "statements": [
                      {
                        "nativeSrc": "30686:5:132",
                        "nodeType": "YulLeave",
                        "src": "30686:5:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "30614:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "30614:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30622:18:132",
                            "nodeType": "YulLiteral",
                            "src": "30622:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "30611:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "30611:2:132"
                        },
                        "nativeSrc": "30611:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30611:30:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "30650:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "30650:6:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30658:4:132",
                                "nodeType": "YulLiteral",
                                "src": "30658:4:132",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30646:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30646:3:132"
                            },
                            "nativeSrc": "30646:17:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30646:17:132"
                          },
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "30665:14:132",
                              "nodeType": "YulIdentifier",
                              "src": "30665:14:132"
                            },
                            "nativeSrc": "30665:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30665:16:132"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "30643:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "30643:2:132"
                        },
                        "nativeSrc": "30643:39:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30643:39:132"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "30608:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "30608:2:132"
                    },
                    "nativeSrc": "30608:75:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30608:75:132"
                  },
                  "nativeSrc": "30605:88:132",
                  "nodeType": "YulIf",
                  "src": "30605:88:132"
                },
                {
                  "nativeSrc": "30702:28:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30702:28:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30717:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "30717:4:132"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "30723:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "30723:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30713:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "30713:3:132"
                    },
                    "nativeSrc": "30713:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30713:17:132"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "30706:3:132",
                      "nodeType": "YulTypedName",
                      "src": "30706:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30739:24:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30739:24:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "30759:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "30759:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30753:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "30753:5:132"
                    },
                    "nativeSrc": "30753:10:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30753:10:132"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "30743:6:132",
                      "nodeType": "YulTypedName",
                      "src": "30743:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30806:9:132",
                    "nodeType": "YulBlock",
                    "src": "30806:9:132",
                    "statements": [
                      {
                        "nativeSrc": "30808:5:132",
                        "nodeType": "YulLeave",
                        "src": "30808:5:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "30778:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "30778:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30786:18:132",
                        "nodeType": "YulLiteral",
                        "src": "30786:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30775:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "30775:2:132"
                    },
                    "nativeSrc": "30775:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30775:30:132"
                  },
                  "nativeSrc": "30772:43:132",
                  "nodeType": "YulIf",
                  "src": "30772:43:132"
                },
                {
                  "body": {
                    "nativeSrc": "30901:9:132",
                    "nodeType": "YulBlock",
                    "src": "30901:9:132",
                    "statements": [
                      {
                        "nativeSrc": "30903:5:132",
                        "nodeType": "YulLeave",
                        "src": "30903:5:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "30838:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "30838:3:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "30843:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "30843:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30834:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30834:3:132"
                            },
                            "nativeSrc": "30834:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30834:16:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30852:4:132",
                            "nodeType": "YulLiteral",
                            "src": "30852:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30830:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "30830:3:132"
                        },
                        "nativeSrc": "30830:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30830:27:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "30867:4:132",
                                "nodeType": "YulIdentifier",
                                "src": "30867:4:132"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "30873:14:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "30873:14:132"
                                },
                                "nativeSrc": "30873:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "30873:16:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30863:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30863:3:132"
                            },
                            "nativeSrc": "30863:27:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30863:27:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "30896:1:132",
                                "nodeType": "YulLiteral",
                                "src": "30896:1:132",
                                "type": "",
                                "value": "3"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "30892:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30892:3:132"
                            },
                            "nativeSrc": "30892:6:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30892:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30859:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "30859:3:132"
                        },
                        "nativeSrc": "30859:40:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30859:40:132"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30827:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "30827:2:132"
                    },
                    "nativeSrc": "30827:73:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30827:73:132"
                  },
                  "nativeSrc": "30824:86:132",
                  "nodeType": "YulIf",
                  "src": "30824:86:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "30939:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "30939:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "30953:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "30953:6:132"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "30961:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "30961:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30949:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "30949:3:132"
                            },
                            "nativeSrc": "30949:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "30949:19:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30970:4:132",
                            "nodeType": "YulLiteral",
                            "src": "30970:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30945:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "30945:3:132"
                        },
                        "nativeSrc": "30945:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "30945:30:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "30919:19:132",
                      "nodeType": "YulIdentifier",
                      "src": "30919:19:132"
                    },
                    "nativeSrc": "30919:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "30919:57:132"
                  },
                  "nativeSrc": "30919:57:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "30919:57:132"
                },
                {
                  "nativeSrc": "30985:10:132",
                  "nodeType": "YulAssignment",
                  "src": "30985:10:132",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "30992:3:132",
                    "nodeType": "YulIdentifier",
                    "src": "30992:3:132"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "30985:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "30985:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "30373:628:132",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "30412:3:132",
                "nodeType": "YulTypedName",
                "src": "30412:3:132",
                "type": ""
              }
            ],
            "src": "30373:628:132"
          },
          {
            "body": {
              "nativeSrc": "31360:971:132",
              "nodeType": "YulBlock",
              "src": "31360:971:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31377:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "31377:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "31392:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "31392:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "31404:3:132",
                                "nodeType": "YulLiteral",
                                "src": "31404:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "31409:10:132",
                                "nodeType": "YulLiteral",
                                "src": "31409:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "31400:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "31400:3:132"
                            },
                            "nativeSrc": "31400:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "31400:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31388:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31388:3:132"
                        },
                        "nativeSrc": "31388:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31388:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31370:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "31370:6:132"
                    },
                    "nativeSrc": "31370:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31370:52:132"
                  },
                  "nativeSrc": "31370:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "31370:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31442:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "31442:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31453:2:132",
                            "nodeType": "YulLiteral",
                            "src": "31453:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31438:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31438:3:132"
                        },
                        "nativeSrc": "31438:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31438:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31458:3:132",
                        "nodeType": "YulLiteral",
                        "src": "31458:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31431:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "31431:6:132"
                    },
                    "nativeSrc": "31431:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31431:31:132"
                  },
                  "nativeSrc": "31431:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "31431:31:132"
                },
                {
                  "nativeSrc": "31471:77:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31471:77:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "31512:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31512:6:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "31520:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31520:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31532:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "31532:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31543:3:132",
                            "nodeType": "YulLiteral",
                            "src": "31543:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31528:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31528:3:132"
                        },
                        "nativeSrc": "31528:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31528:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "31485:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "31485:26:132"
                    },
                    "nativeSrc": "31485:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31485:63:132"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "31475:6:132",
                      "nodeType": "YulTypedName",
                      "src": "31475:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31568:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "31568:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31579:2:132",
                            "nodeType": "YulLiteral",
                            "src": "31579:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31564:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31564:3:132"
                        },
                        "nativeSrc": "31564:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31564:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "31595:1:132",
                            "nodeType": "YulLiteral",
                            "src": "31595:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "31598:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "31598:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "31584:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "31584:10:132"
                        },
                        "nativeSrc": "31584:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31584:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31557:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "31557:6:132"
                    },
                    "nativeSrc": "31557:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31557:49:132"
                  },
                  "nativeSrc": "31557:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "31557:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "31639:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31639:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31651:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "31651:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31662:2:132",
                            "nodeType": "YulLiteral",
                            "src": "31662:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31647:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31647:3:132"
                        },
                        "nativeSrc": "31647:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31647:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Mappers",
                      "nativeSrc": "31615:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "31615:23:132"
                    },
                    "nativeSrc": "31615:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31615:51:132"
                  },
                  "nativeSrc": "31615:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "31615:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31686:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "31686:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31697:3:132",
                            "nodeType": "YulLiteral",
                            "src": "31697:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31682:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31682:3:132"
                        },
                        "nativeSrc": "31682:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31682:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "31707:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "31707:6:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31715:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "31715:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31703:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31703:3:132"
                        },
                        "nativeSrc": "31703:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31703:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31675:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "31675:6:132"
                    },
                    "nativeSrc": "31675:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31675:51:132"
                  },
                  "nativeSrc": "31675:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "31675:51:132"
                },
                {
                  "nativeSrc": "31735:17:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31735:17:132",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "31746:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "31746:6:132"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "31739:3:132",
                      "nodeType": "YulTypedName",
                      "src": "31739:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "31768:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31768:6:132"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "31776:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31776:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31761:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "31761:6:132"
                    },
                    "nativeSrc": "31761:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31761:22:132"
                  },
                  "nativeSrc": "31761:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "31761:22:132"
                },
                {
                  "nativeSrc": "31792:22:132",
                  "nodeType": "YulAssignment",
                  "src": "31792:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "31803:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31803:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31811:2:132",
                        "nodeType": "YulLiteral",
                        "src": "31811:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31799:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "31799:3:132"
                    },
                    "nativeSrc": "31799:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31799:15:132"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "31792:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "31792:3:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "31823:50:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31823:50:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "31845:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "31845:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "31857:1:132",
                                "nodeType": "YulLiteral",
                                "src": "31857:1:132",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value6",
                                "nativeSrc": "31860:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "31860:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "31853:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "31853:3:132"
                            },
                            "nativeSrc": "31853:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "31853:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31841:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "31841:3:132"
                        },
                        "nativeSrc": "31841:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "31841:27:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31870:2:132",
                        "nodeType": "YulLiteral",
                        "src": "31870:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31837:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "31837:3:132"
                    },
                    "nativeSrc": "31837:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31837:36:132"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "31827:6:132",
                      "nodeType": "YulTypedName",
                      "src": "31827:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31882:20:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31882:20:132",
                  "value": {
                    "name": "value5",
                    "nativeSrc": "31896:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "31896:6:132"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "31886:6:132",
                      "nodeType": "YulTypedName",
                      "src": "31886:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31911:10:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31911:10:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "31920:1:132",
                    "nodeType": "YulLiteral",
                    "src": "31920:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "31915:1:132",
                      "nodeType": "YulTypedName",
                      "src": "31915:1:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31979:323:132",
                    "nodeType": "YulBlock",
                    "src": "31979:323:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "32000:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "32000:3:132"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "32013:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "32013:6:132"
                                    },
                                    {
                                      "name": "tail_1",
                                      "nativeSrc": "32021:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "32021:6:132"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "32009:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "32009:3:132"
                                  },
                                  "nativeSrc": "32009:19:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32009:19:132"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32034:2:132",
                                      "nodeType": "YulLiteral",
                                      "src": "32034:2:132",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "32030:3:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "32030:3:132"
                                  },
                                  "nativeSrc": "32030:7:132",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32030:7:132"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "32005:3:132",
                                "nodeType": "YulIdentifier",
                                "src": "32005:3:132"
                              },
                              "nativeSrc": "32005:33:132",
                              "nodeType": "YulFunctionCall",
                              "src": "32005:33:132"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31993:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "31993:6:132"
                          },
                          "nativeSrc": "31993:46:132",
                          "nodeType": "YulFunctionCall",
                          "src": "31993:46:132"
                        },
                        "nativeSrc": "31993:46:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "31993:46:132"
                      },
                      {
                        "nativeSrc": "32052:83:132",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32052:83:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "value5",
                              "nativeSrc": "32120:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "32120:6:132"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "32128:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "32128:6:132"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "32088:31:132",
                            "nodeType": "YulIdentifier",
                            "src": "32088:31:132"
                          },
                          "nativeSrc": "32088:47:132",
                          "nodeType": "YulFunctionCall",
                          "src": "32088:47:132"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "32056:13:132",
                            "nodeType": "YulTypedName",
                            "src": "32056:13:132",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "32071:13:132",
                            "nodeType": "YulTypedName",
                            "src": "32071:13:132",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "32148:74:132",
                        "nodeType": "YulAssignment",
                        "src": "32148:74:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "32185:13:132",
                              "nodeType": "YulIdentifier",
                              "src": "32185:13:132"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "32200:13:132",
                              "nodeType": "YulIdentifier",
                              "src": "32200:13:132"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "32215:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "32215:6:132"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "32158:26:132",
                            "nodeType": "YulIdentifier",
                            "src": "32158:26:132"
                          },
                          "nativeSrc": "32158:64:132",
                          "nodeType": "YulFunctionCall",
                          "src": "32158:64:132"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "32148:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "32148:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "32235:25:132",
                        "nodeType": "YulAssignment",
                        "src": "32235:25:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "32249:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "32249:6:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32257:2:132",
                              "nodeType": "YulLiteral",
                              "src": "32257:2:132",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "32245:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "32245:3:132"
                          },
                          "nativeSrc": "32245:15:132",
                          "nodeType": "YulFunctionCall",
                          "src": "32245:15:132"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "32235:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "32235:6:132"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "32273:19:132",
                        "nodeType": "YulAssignment",
                        "src": "32273:19:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "32284:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "32284:3:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32289:2:132",
                              "nodeType": "YulLiteral",
                              "src": "32289:2:132",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "32280:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "32280:3:132"
                          },
                          "nativeSrc": "32280:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "32280:12:132"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "32273:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "32273:3:132"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "31941:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "31941:1:132"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "31944:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "31944:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "31938:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "31938:2:132"
                    },
                    "nativeSrc": "31938:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "31938:13:132"
                  },
                  "nativeSrc": "31930:372:132",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "31952:18:132",
                    "nodeType": "YulBlock",
                    "src": "31952:18:132",
                    "statements": [
                      {
                        "nativeSrc": "31954:14:132",
                        "nodeType": "YulAssignment",
                        "src": "31954:14:132",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "31963:1:132",
                              "nodeType": "YulIdentifier",
                              "src": "31963:1:132"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31966:1:132",
                              "nodeType": "YulLiteral",
                              "src": "31966:1:132",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31959:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "31959:3:132"
                          },
                          "nativeSrc": "31959:9:132",
                          "nodeType": "YulFunctionCall",
                          "src": "31959:9:132"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "31954:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "31954:1:132"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "31934:3:132",
                    "nodeType": "YulBlock",
                    "src": "31934:3:132",
                    "statements": []
                  },
                  "src": "31930:372:132"
                },
                {
                  "nativeSrc": "32311:14:132",
                  "nodeType": "YulAssignment",
                  "src": "32311:14:132",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "32319:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "32319:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32311:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "32311:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$25259_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "31006:1325:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31281:9:132",
                "nodeType": "YulTypedName",
                "src": "31281:9:132",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "31292:6:132",
                "nodeType": "YulTypedName",
                "src": "31292:6:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "31300:6:132",
                "nodeType": "YulTypedName",
                "src": "31300:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "31308:6:132",
                "nodeType": "YulTypedName",
                "src": "31308:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "31316:6:132",
                "nodeType": "YulTypedName",
                "src": "31316:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "31324:6:132",
                "nodeType": "YulTypedName",
                "src": "31324:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "31332:6:132",
                "nodeType": "YulTypedName",
                "src": "31332:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "31340:6:132",
                "nodeType": "YulTypedName",
                "src": "31340:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "31351:4:132",
                "nodeType": "YulTypedName",
                "src": "31351:4:132",
                "type": ""
              }
            ],
            "src": "31006:1325:132"
          },
          {
            "body": {
              "nativeSrc": "32450:170:132",
              "nodeType": "YulBlock",
              "src": "32450:170:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32496:16:132",
                    "nodeType": "YulBlock",
                    "src": "32496:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32505:1:132",
                              "nodeType": "YulLiteral",
                              "src": "32505:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32508:1:132",
                              "nodeType": "YulLiteral",
                              "src": "32508:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32498:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "32498:6:132"
                          },
                          "nativeSrc": "32498:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "32498:12:132"
                        },
                        "nativeSrc": "32498:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "32498:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32471:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "32471:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "32480:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "32480:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32467:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "32467:3:132"
                        },
                        "nativeSrc": "32467:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "32467:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32492:2:132",
                        "nodeType": "YulLiteral",
                        "src": "32492:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32463:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "32463:3:132"
                    },
                    "nativeSrc": "32463:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "32463:32:132"
                  },
                  "nativeSrc": "32460:52:132",
                  "nodeType": "YulIf",
                  "src": "32460:52:132"
                },
                {
                  "nativeSrc": "32521:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32521:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32540:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "32540:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "32534:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "32534:5:132"
                    },
                    "nativeSrc": "32534:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "32534:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "32525:5:132",
                      "nodeType": "YulTypedName",
                      "src": "32525:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "32584:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "32584:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "32559:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "32559:24:132"
                    },
                    "nativeSrc": "32559:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "32559:31:132"
                  },
                  "nativeSrc": "32559:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "32559:31:132"
                },
                {
                  "nativeSrc": "32599:15:132",
                  "nodeType": "YulAssignment",
                  "src": "32599:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "32609:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "32609:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "32599:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "32599:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$24951_fromMemory",
            "nativeSrc": "32336:284:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32416:9:132",
                "nodeType": "YulTypedName",
                "src": "32416:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "32427:7:132",
                "nodeType": "YulTypedName",
                "src": "32427:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "32439:6:132",
                "nodeType": "YulTypedName",
                "src": "32439:6:132",
                "type": ""
              }
            ],
            "src": "32336:284:132"
          },
          {
            "body": {
              "nativeSrc": "32903:377:132",
              "nodeType": "YulBlock",
              "src": "32903:377:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32920:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "32920:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32931:3:132",
                        "nodeType": "YulLiteral",
                        "src": "32931:3:132",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32913:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "32913:6:132"
                    },
                    "nativeSrc": "32913:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "32913:22:132"
                  },
                  "nativeSrc": "32913:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "32913:22:132"
                },
                {
                  "nativeSrc": "32944:77:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32944:77:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "32985:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "32985:6:132"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "32993:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "32993:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33005:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33005:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33016:3:132",
                            "nodeType": "YulLiteral",
                            "src": "33016:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33001:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33001:3:132"
                        },
                        "nativeSrc": "33001:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33001:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "32958:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "32958:26:132"
                    },
                    "nativeSrc": "32958:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "32958:63:132"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "32948:6:132",
                      "nodeType": "YulTypedName",
                      "src": "32948:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33041:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33041:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33052:2:132",
                            "nodeType": "YulLiteral",
                            "src": "33052:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33037:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33037:3:132"
                        },
                        "nativeSrc": "33037:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33037:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "33061:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "33061:6:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "33069:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33069:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33057:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33057:3:132"
                        },
                        "nativeSrc": "33057:22:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33057:22:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33030:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "33030:6:132"
                    },
                    "nativeSrc": "33030:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33030:50:132"
                  },
                  "nativeSrc": "33030:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "33030:50:132"
                },
                {
                  "nativeSrc": "33089:58:132",
                  "nodeType": "YulAssignment",
                  "src": "33089:58:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "33124:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "33124:6:132"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "33132:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "33132:6:132"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "33140:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "33140:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "33097:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "33097:26:132"
                    },
                    "nativeSrc": "33097:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33097:50:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33089:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "33089:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33167:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33167:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33178:2:132",
                            "nodeType": "YulLiteral",
                            "src": "33178:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33163:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33163:3:132"
                        },
                        "nativeSrc": "33163:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33163:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "33194:1:132",
                            "nodeType": "YulLiteral",
                            "src": "33194:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value4",
                            "nativeSrc": "33197:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "33197:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "33183:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "33183:10:132"
                        },
                        "nativeSrc": "33183:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33183:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33156:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "33156:6:132"
                    },
                    "nativeSrc": "33156:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33156:49:132"
                  },
                  "nativeSrc": "33156:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "33156:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33225:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33225:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33236:2:132",
                            "nodeType": "YulLiteral",
                            "src": "33236:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33221:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33221:3:132"
                        },
                        "nativeSrc": "33221:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33221:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "33245:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "33245:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "33261:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "33261:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "33266:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "33266:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "33257:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "33257:3:132"
                                },
                                "nativeSrc": "33257:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "33257:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "33270:1:132",
                                "nodeType": "YulLiteral",
                                "src": "33270:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "33253:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "33253:3:132"
                            },
                            "nativeSrc": "33253:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "33253:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33241:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33241:3:132"
                        },
                        "nativeSrc": "33241:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33241:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33214:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "33214:6:132"
                    },
                    "nativeSrc": "33214:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33214:60:132"
                  },
                  "nativeSrc": "33214:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "33214:60:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_bytes_calldata_ptr_t_int8_t_contract$_IWitOracleRadonRegistry_$24951__to_t_string_memory_ptr_t_bytes_memory_ptr_t_int8_t_address__fromStack_library_reversed",
            "nativeSrc": "32625:655:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32832:9:132",
                "nodeType": "YulTypedName",
                "src": "32832:9:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "32843:6:132",
                "nodeType": "YulTypedName",
                "src": "32843:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "32851:6:132",
                "nodeType": "YulTypedName",
                "src": "32851:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "32859:6:132",
                "nodeType": "YulTypedName",
                "src": "32859:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "32867:6:132",
                "nodeType": "YulTypedName",
                "src": "32867:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "32875:6:132",
                "nodeType": "YulTypedName",
                "src": "32875:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "32883:6:132",
                "nodeType": "YulTypedName",
                "src": "32883:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32894:4:132",
                "nodeType": "YulTypedName",
                "src": "32894:4:132",
                "type": ""
              }
            ],
            "src": "32625:655:132"
          },
          {
            "body": {
              "nativeSrc": "33413:283:132",
              "nodeType": "YulBlock",
              "src": "33413:283:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "33459:16:132",
                    "nodeType": "YulBlock",
                    "src": "33459:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "33468:1:132",
                              "nodeType": "YulLiteral",
                              "src": "33468:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "33471:1:132",
                              "nodeType": "YulLiteral",
                              "src": "33471:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "33461:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "33461:6:132"
                          },
                          "nativeSrc": "33461:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "33461:12:132"
                        },
                        "nativeSrc": "33461:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "33461:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "33434:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "33434:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "33443:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33443:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "33430:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33430:3:132"
                        },
                        "nativeSrc": "33430:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33430:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33455:2:132",
                        "nodeType": "YulLiteral",
                        "src": "33455:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "33426:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "33426:3:132"
                    },
                    "nativeSrc": "33426:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33426:32:132"
                  },
                  "nativeSrc": "33423:52:132",
                  "nodeType": "YulIf",
                  "src": "33423:52:132"
                },
                {
                  "nativeSrc": "33484:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33484:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33503:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "33503:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "33497:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "33497:5:132"
                    },
                    "nativeSrc": "33497:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33497:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "33488:5:132",
                      "nodeType": "YulTypedName",
                      "src": "33488:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "33564:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "33564:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "33522:41:132",
                      "nodeType": "YulIdentifier",
                      "src": "33522:41:132"
                    },
                    "nativeSrc": "33522:48:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33522:48:132"
                  },
                  "nativeSrc": "33522:48:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "33522:48:132"
                },
                {
                  "nativeSrc": "33579:15:132",
                  "nodeType": "YulAssignment",
                  "src": "33579:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "33589:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "33589:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "33579:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "33579:6:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "33603:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33603:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33618:1:132",
                    "nodeType": "YulLiteral",
                    "src": "33618:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "33607:7:132",
                      "nodeType": "YulTypedName",
                      "src": "33607:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33628:36:132",
                  "nodeType": "YulAssignment",
                  "src": "33628:36:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33649:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "33649:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33660:2:132",
                            "nodeType": "YulLiteral",
                            "src": "33660:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33645:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "33645:3:132"
                        },
                        "nativeSrc": "33645:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "33645:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "33639:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "33639:5:132"
                    },
                    "nativeSrc": "33639:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "33639:25:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "33628:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "33628:7:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "33673:17:132",
                  "nodeType": "YulAssignment",
                  "src": "33673:17:132",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "33683:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "33683:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "33673:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "33673:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4t_userDefinedValueType$_RadonHash_$34584_fromMemory",
            "nativeSrc": "33285:411:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33371:9:132",
                "nodeType": "YulTypedName",
                "src": "33371:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "33382:7:132",
                "nodeType": "YulTypedName",
                "src": "33382:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "33394:6:132",
                "nodeType": "YulTypedName",
                "src": "33394:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33402:6:132",
                "nodeType": "YulTypedName",
                "src": "33402:6:132",
                "type": ""
              }
            ],
            "src": "33285:411:132"
          },
          {
            "body": {
              "nativeSrc": "34001:420:132",
              "nodeType": "YulBlock",
              "src": "34001:420:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34018:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "34018:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34033:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "34033:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "34045:3:132",
                                "nodeType": "YulLiteral",
                                "src": "34045:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "34050:10:132",
                                "nodeType": "YulLiteral",
                                "src": "34050:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "34041:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "34041:3:132"
                            },
                            "nativeSrc": "34041:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "34041:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34029:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34029:3:132"
                        },
                        "nativeSrc": "34029:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34029:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34011:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34011:6:132"
                    },
                    "nativeSrc": "34011:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34011:52:132"
                  },
                  "nativeSrc": "34011:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34011:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34083:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34083:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34094:2:132",
                            "nodeType": "YulLiteral",
                            "src": "34094:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34079:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34079:3:132"
                        },
                        "nativeSrc": "34079:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34079:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34099:3:132",
                        "nodeType": "YulLiteral",
                        "src": "34099:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34072:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34072:6:132"
                    },
                    "nativeSrc": "34072:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34072:31:132"
                  },
                  "nativeSrc": "34072:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34072:31:132"
                },
                {
                  "nativeSrc": "34112:71:132",
                  "nodeType": "YulAssignment",
                  "src": "34112:71:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "34147:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "34147:6:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "34155:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "34155:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34167:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34167:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34178:3:132",
                            "nodeType": "YulLiteral",
                            "src": "34178:3:132",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34163:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34163:3:132"
                        },
                        "nativeSrc": "34163:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34163:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "34120:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "34120:26:132"
                    },
                    "nativeSrc": "34120:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34120:63:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34112:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "34112:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34203:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34203:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34214:2:132",
                            "nodeType": "YulLiteral",
                            "src": "34214:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34199:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34199:3:132"
                        },
                        "nativeSrc": "34199:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34199:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "34230:1:132",
                            "nodeType": "YulLiteral",
                            "src": "34230:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "34233:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "34233:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "34219:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "34219:10:132"
                        },
                        "nativeSrc": "34219:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34219:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34192:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34192:6:132"
                    },
                    "nativeSrc": "34192:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34192:49:132"
                  },
                  "nativeSrc": "34192:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34192:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "34274:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "34274:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34286:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34286:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34297:2:132",
                            "nodeType": "YulLiteral",
                            "src": "34297:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34282:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34282:3:132"
                        },
                        "nativeSrc": "34282:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34282:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "34250:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "34250:23:132"
                    },
                    "nativeSrc": "34250:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34250:51:132"
                  },
                  "nativeSrc": "34250:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34250:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34321:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34321:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34332:3:132",
                            "nodeType": "YulLiteral",
                            "src": "34332:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34317:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34317:3:132"
                        },
                        "nativeSrc": "34317:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34317:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "34342:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "34342:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "34358:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "34358:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "34363:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "34363:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "34354:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "34354:3:132"
                                },
                                "nativeSrc": "34354:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "34354:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "34367:1:132",
                                "nodeType": "YulLiteral",
                                "src": "34367:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "34350:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "34350:3:132"
                            },
                            "nativeSrc": "34350:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "34350:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34338:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34338:3:132"
                        },
                        "nativeSrc": "34338:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34338:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34310:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34310:6:132"
                    },
                    "nativeSrc": "34310:61:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34310:61:132"
                  },
                  "nativeSrc": "34310:61:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34310:61:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34391:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34391:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34402:3:132",
                            "nodeType": "YulLiteral",
                            "src": "34402:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34387:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34387:3:132"
                        },
                        "nativeSrc": "34387:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34387:19:132"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "34408:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "34408:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34380:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34380:6:132"
                    },
                    "nativeSrc": "34380:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34380:35:132"
                  },
                  "nativeSrc": "34380:35:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34380:35:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_calldata_ptr_t_int8_t_enum$_Oracles_$25264_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed",
            "nativeSrc": "33701:720:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33922:9:132",
                "nodeType": "YulTypedName",
                "src": "33922:9:132",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "33933:6:132",
                "nodeType": "YulTypedName",
                "src": "33933:6:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "33941:6:132",
                "nodeType": "YulTypedName",
                "src": "33941:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "33949:6:132",
                "nodeType": "YulTypedName",
                "src": "33949:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "33957:6:132",
                "nodeType": "YulTypedName",
                "src": "33957:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "33965:6:132",
                "nodeType": "YulTypedName",
                "src": "33965:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33973:6:132",
                "nodeType": "YulTypedName",
                "src": "33973:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33981:6:132",
                "nodeType": "YulTypedName",
                "src": "33981:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33992:4:132",
                "nodeType": "YulTypedName",
                "src": "33992:4:132",
                "type": ""
              }
            ],
            "src": "33701:720:132"
          },
          {
            "body": {
              "nativeSrc": "34600:174:132",
              "nodeType": "YulBlock",
              "src": "34600:174:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34617:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "34617:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34628:2:132",
                        "nodeType": "YulLiteral",
                        "src": "34628:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34610:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34610:6:132"
                    },
                    "nativeSrc": "34610:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34610:21:132"
                  },
                  "nativeSrc": "34610:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34610:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34651:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34651:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34662:2:132",
                            "nodeType": "YulLiteral",
                            "src": "34662:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34647:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34647:3:132"
                        },
                        "nativeSrc": "34647:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34647:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34667:2:132",
                        "nodeType": "YulLiteral",
                        "src": "34667:2:132",
                        "type": "",
                        "value": "24"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34640:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34640:6:132"
                    },
                    "nativeSrc": "34640:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34640:30:132"
                  },
                  "nativeSrc": "34640:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34640:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34690:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "34690:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34701:2:132",
                            "nodeType": "YulLiteral",
                            "src": "34701:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34686:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "34686:3:132"
                        },
                        "nativeSrc": "34686:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34686:18:132"
                      },
                      {
                        "hexValue": "436c6f6e61626c65323a206e6f74206f6e20636c6f6e6573",
                        "kind": "string",
                        "nativeSrc": "34706:26:132",
                        "nodeType": "YulLiteral",
                        "src": "34706:26:132",
                        "type": "",
                        "value": "Clonable2: not on clones"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34679:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34679:6:132"
                    },
                    "nativeSrc": "34679:54:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34679:54:132"
                  },
                  "nativeSrc": "34679:54:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34679:54:132"
                },
                {
                  "nativeSrc": "34742:26:132",
                  "nodeType": "YulAssignment",
                  "src": "34742:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34754:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "34754:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34765:2:132",
                        "nodeType": "YulLiteral",
                        "src": "34765:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34750:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "34750:3:132"
                    },
                    "nativeSrc": "34750:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34750:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34742:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "34742:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_ceac1fd756e0c5b73e56786881ceba2dc475723057c1e4b6d95d0789e36b55f9__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "34426:348:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34577:9:132",
                "nodeType": "YulTypedName",
                "src": "34577:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34591:4:132",
                "nodeType": "YulTypedName",
                "src": "34591:4:132",
                "type": ""
              }
            ],
            "src": "34426:348:132"
          },
          {
            "body": {
              "nativeSrc": "34823:73:132",
              "nodeType": "YulBlock",
              "src": "34823:73:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34874:16:132",
                    "nodeType": "YulBlock",
                    "src": "34874:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34883:1:132",
                              "nodeType": "YulLiteral",
                              "src": "34883:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34886:1:132",
                              "nodeType": "YulLiteral",
                              "src": "34886:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34876:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "34876:6:132"
                          },
                          "nativeSrc": "34876:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "34876:12:132"
                        },
                        "nativeSrc": "34876:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "34876:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "34846:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "34846:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "34857:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "34857:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "34864:6:132",
                                "nodeType": "YulLiteral",
                                "src": "34864:6:132",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "34853:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "34853:3:132"
                            },
                            "nativeSrc": "34853:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "34853:18:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "34843:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "34843:2:132"
                        },
                        "nativeSrc": "34843:29:132",
                        "nodeType": "YulFunctionCall",
                        "src": "34843:29:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34836:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "34836:6:132"
                    },
                    "nativeSrc": "34836:37:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34836:37:132"
                  },
                  "nativeSrc": "34833:57:132",
                  "nodeType": "YulIf",
                  "src": "34833:57:132"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "34779:117:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "34812:5:132",
                "nodeType": "YulTypedName",
                "src": "34812:5:132",
                "type": ""
              }
            ],
            "src": "34779:117:132"
          },
          {
            "body": {
              "nativeSrc": "34949:84:132",
              "nodeType": "YulBlock",
              "src": "34949:84:132",
              "statements": [
                {
                  "nativeSrc": "34959:29:132",
                  "nodeType": "YulAssignment",
                  "src": "34959:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34981:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "34981:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "34968:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "34968:12:132"
                    },
                    "nativeSrc": "34968:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34968:20:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "34959:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "34959:5:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35021:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "35021:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "34997:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "34997:23:132"
                    },
                    "nativeSrc": "34997:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "34997:30:132"
                  },
                  "nativeSrc": "34997:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "34997:30:132"
                }
              ]
            },
            "name": "abi_decode_uint16",
            "nativeSrc": "34901:132:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "34928:6:132",
                "nodeType": "YulTypedName",
                "src": "34928:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "34939:5:132",
                "nodeType": "YulTypedName",
                "src": "34939:5:132",
                "type": ""
              }
            ],
            "src": "34901:132:132"
          },
          {
            "body": {
              "nativeSrc": "35107:176:132",
              "nodeType": "YulBlock",
              "src": "35107:176:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35153:16:132",
                    "nodeType": "YulBlock",
                    "src": "35153:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35162:1:132",
                              "nodeType": "YulLiteral",
                              "src": "35162:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35165:1:132",
                              "nodeType": "YulLiteral",
                              "src": "35165:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35155:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "35155:6:132"
                          },
                          "nativeSrc": "35155:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "35155:12:132"
                        },
                        "nativeSrc": "35155:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "35155:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35128:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "35128:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "35137:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "35137:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35124:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35124:3:132"
                        },
                        "nativeSrc": "35124:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35124:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35149:2:132",
                        "nodeType": "YulLiteral",
                        "src": "35149:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35120:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "35120:3:132"
                    },
                    "nativeSrc": "35120:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35120:32:132"
                  },
                  "nativeSrc": "35117:52:132",
                  "nodeType": "YulIf",
                  "src": "35117:52:132"
                },
                {
                  "nativeSrc": "35178:36:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35178:36:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35204:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "35204:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35191:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "35191:12:132"
                    },
                    "nativeSrc": "35191:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35191:23:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35182:5:132",
                      "nodeType": "YulTypedName",
                      "src": "35182:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35247:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "35247:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "35223:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "35223:23:132"
                    },
                    "nativeSrc": "35223:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35223:30:132"
                  },
                  "nativeSrc": "35223:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35223:30:132"
                },
                {
                  "nativeSrc": "35262:15:132",
                  "nodeType": "YulAssignment",
                  "src": "35262:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "35272:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "35272:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35262:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "35262:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16",
            "nativeSrc": "35038:245:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35073:9:132",
                "nodeType": "YulTypedName",
                "src": "35073:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "35084:7:132",
                "nodeType": "YulTypedName",
                "src": "35084:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "35096:6:132",
                "nodeType": "YulTypedName",
                "src": "35096:6:132",
                "type": ""
              }
            ],
            "src": "35038:245:132"
          },
          {
            "body": {
              "nativeSrc": "35513:1242:132",
              "nodeType": "YulBlock",
              "src": "35513:1242:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35530:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "35530:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35541:2:132",
                        "nodeType": "YulLiteral",
                        "src": "35541:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35523:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "35523:6:132"
                    },
                    "nativeSrc": "35523:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35523:21:132"
                  },
                  "nativeSrc": "35523:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35523:21:132"
                },
                {
                  "nativeSrc": "35553:14:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35553:14:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "35566:1:132",
                    "nodeType": "YulLiteral",
                    "src": "35566:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35557:5:132",
                      "nodeType": "YulTypedName",
                      "src": "35557:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35576:29:132",
                  "nodeType": "YulAssignment",
                  "src": "35576:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "35598:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "35598:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35585:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "35585:12:132"
                    },
                    "nativeSrc": "35585:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35585:20:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "35576:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "35576:5:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35625:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "35625:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35636:2:132",
                            "nodeType": "YulLiteral",
                            "src": "35636:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35621:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35621:3:132"
                        },
                        "nativeSrc": "35621:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35621:18:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "35641:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "35641:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35614:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "35614:6:132"
                    },
                    "nativeSrc": "35614:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35614:33:132"
                  },
                  "nativeSrc": "35614:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35614:33:132"
                },
                {
                  "nativeSrc": "35656:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35656:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "35671:1:132",
                    "nodeType": "YulLiteral",
                    "src": "35671:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "35660:7:132",
                      "nodeType": "YulTypedName",
                      "src": "35660:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35681:42:132",
                  "nodeType": "YulAssignment",
                  "src": "35681:42:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "35709:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "35709:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35717:4:132",
                            "nodeType": "YulLiteral",
                            "src": "35717:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35705:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35705:3:132"
                        },
                        "nativeSrc": "35705:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35705:17:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35692:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "35692:12:132"
                    },
                    "nativeSrc": "35692:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35692:31:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "35681:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "35681:7:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35743:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "35743:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35754:2:132",
                            "nodeType": "YulLiteral",
                            "src": "35754:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35739:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35739:3:132"
                        },
                        "nativeSrc": "35739:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35739:18:132"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "35759:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "35759:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35732:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "35732:6:132"
                    },
                    "nativeSrc": "35732:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35732:35:132"
                  },
                  "nativeSrc": "35732:35:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35732:35:132"
                },
                {
                  "nativeSrc": "35776:44:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35776:44:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "35808:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "35808:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35816:2:132",
                            "nodeType": "YulLiteral",
                            "src": "35816:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35804:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35804:3:132"
                        },
                        "nativeSrc": "35804:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35804:15:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35791:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "35791:12:132"
                    },
                    "nativeSrc": "35791:29:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35791:29:132"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "35780:7:132",
                      "nodeType": "YulTypedName",
                      "src": "35780:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "35853:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "35853:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "35829:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "35829:23:132"
                    },
                    "nativeSrc": "35829:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35829:32:132"
                  },
                  "nativeSrc": "35829:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35829:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "35881:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "35881:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35892:3:132",
                            "nodeType": "YulLiteral",
                            "src": "35892:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35877:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35877:3:132"
                        },
                        "nativeSrc": "35877:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35877:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "35902:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "35902:7:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35911:6:132",
                            "nodeType": "YulLiteral",
                            "src": "35911:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35898:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35898:3:132"
                        },
                        "nativeSrc": "35898:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35898:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35870:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "35870:6:132"
                    },
                    "nativeSrc": "35870:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35870:49:132"
                  },
                  "nativeSrc": "35870:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35870:49:132"
                },
                {
                  "nativeSrc": "35928:44:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35928:44:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "35960:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "35960:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35968:2:132",
                            "nodeType": "YulLiteral",
                            "src": "35968:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35956:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "35956:3:132"
                        },
                        "nativeSrc": "35956:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "35956:15:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35943:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "35943:12:132"
                    },
                    "nativeSrc": "35943:29:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35943:29:132"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "35932:7:132",
                      "nodeType": "YulTypedName",
                      "src": "35932:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "36005:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "36005:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "35981:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "35981:23:132"
                    },
                    "nativeSrc": "35981:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "35981:32:132"
                  },
                  "nativeSrc": "35981:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "35981:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36033:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36033:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36044:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36044:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36029:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36029:3:132"
                        },
                        "nativeSrc": "36029:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36029:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_3",
                            "nativeSrc": "36054:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "36054:7:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36063:6:132",
                            "nodeType": "YulLiteral",
                            "src": "36063:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36050:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36050:3:132"
                        },
                        "nativeSrc": "36050:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36050:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36022:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "36022:6:132"
                    },
                    "nativeSrc": "36022:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36022:49:132"
                  },
                  "nativeSrc": "36022:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "36022:49:132"
                },
                {
                  "nativeSrc": "36080:45:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36080:45:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36112:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "36112:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36120:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36120:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36108:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36108:3:132"
                        },
                        "nativeSrc": "36108:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36108:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "36095:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "36095:12:132"
                    },
                    "nativeSrc": "36095:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36095:30:132"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "36084:7:132",
                      "nodeType": "YulTypedName",
                      "src": "36084:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_4",
                        "nativeSrc": "36158:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "36158:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "36134:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "36134:23:132"
                    },
                    "nativeSrc": "36134:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36134:32:132"
                  },
                  "nativeSrc": "36134:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "36134:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36186:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36186:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36197:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36197:3:132",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36182:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36182:3:132"
                        },
                        "nativeSrc": "36182:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36182:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_4",
                            "nativeSrc": "36207:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "36207:7:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36216:18:132",
                            "nodeType": "YulLiteral",
                            "src": "36216:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36203:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36203:3:132"
                        },
                        "nativeSrc": "36203:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36203:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36175:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "36175:6:132"
                    },
                    "nativeSrc": "36175:61:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36175:61:132"
                  },
                  "nativeSrc": "36175:61:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "36175:61:132"
                },
                {
                  "nativeSrc": "36245:55:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36245:55:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36287:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "36287:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36295:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36295:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36283:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36283:3:132"
                        },
                        "nativeSrc": "36283:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36283:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint64",
                      "nativeSrc": "36265:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "36265:17:132"
                    },
                    "nativeSrc": "36265:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36265:35:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "36249:12:132",
                      "nodeType": "YulTypedName",
                      "src": "36249:12:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "36351:12:132",
                        "nodeType": "YulIdentifier",
                        "src": "36351:12:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36369:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36369:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36380:4:132",
                            "nodeType": "YulLiteral",
                            "src": "36380:4:132",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36365:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36365:3:132"
                        },
                        "nativeSrc": "36365:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36365:20:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_userDefinedValueType_Timestamp",
                      "nativeSrc": "36309:41:132",
                      "nodeType": "YulIdentifier",
                      "src": "36309:41:132"
                    },
                    "nativeSrc": "36309:77:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36309:77:132"
                  },
                  "nativeSrc": "36309:77:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "36309:77:132"
                },
                {
                  "nativeSrc": "36395:93:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36395:93:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "36463:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "36463:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36475:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "36475:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36483:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36483:3:132",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36471:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36471:3:132"
                        },
                        "nativeSrc": "36471:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36471:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldata_access_string_calldata",
                      "nativeSrc": "36431:31:132",
                      "nodeType": "YulIdentifier",
                      "src": "36431:31:132"
                    },
                    "nativeSrc": "36431:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36431:57:132"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "36399:14:132",
                      "nodeType": "YulTypedName",
                      "src": "36399:14:132",
                      "type": ""
                    },
                    {
                      "name": "memberValue1",
                      "nativeSrc": "36415:12:132",
                      "nodeType": "YulTypedName",
                      "src": "36415:12:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36508:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36508:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36519:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36519:3:132",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36504:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36504:3:132"
                        },
                        "nativeSrc": "36504:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36504:19:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36525:4:132",
                        "nodeType": "YulLiteral",
                        "src": "36525:4:132",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36497:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "36497:6:132"
                    },
                    "nativeSrc": "36497:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36497:33:132"
                  },
                  "nativeSrc": "36497:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "36497:33:132"
                },
                {
                  "nativeSrc": "36539:88:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36539:88:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "36577:14:132",
                        "nodeType": "YulIdentifier",
                        "src": "36577:14:132"
                      },
                      {
                        "name": "memberValue1",
                        "nativeSrc": "36593:12:132",
                        "nodeType": "YulIdentifier",
                        "src": "36593:12:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36611:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36611:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36622:3:132",
                            "nodeType": "YulLiteral",
                            "src": "36622:3:132",
                            "type": "",
                            "value": "288"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36607:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36607:3:132"
                        },
                        "nativeSrc": "36607:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36607:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "36550:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "36550:26:132"
                    },
                    "nativeSrc": "36550:77:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36550:77:132"
                  },
                  "variables": [
                    {
                      "name": "end",
                      "nativeSrc": "36543:3:132",
                      "nodeType": "YulTypedName",
                      "src": "36543:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36647:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36647:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36658:4:132",
                            "nodeType": "YulLiteral",
                            "src": "36658:4:132",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36643:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36643:3:132"
                        },
                        "nativeSrc": "36643:20:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36643:20:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "36669:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "36669:3:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "36674:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "36674:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "36665:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "36665:3:132"
                        },
                        "nativeSrc": "36665:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36665:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36636:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "36636:6:132"
                    },
                    "nativeSrc": "36636:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36636:49:132"
                  },
                  "nativeSrc": "36636:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "36636:49:132"
                },
                {
                  "nativeSrc": "36694:55:132",
                  "nodeType": "YulAssignment",
                  "src": "36694:55:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "36729:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "36729:6:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "36737:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "36737:6:132"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "36745:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "36745:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "36702:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "36702:26:132"
                    },
                    "nativeSrc": "36702:47:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36702:47:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "36694:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "36694:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_DataPushReport_$34705_calldata_ptr_t_bytes_calldata_ptr__to_t_struct$_DataPushReport_$34705_memory_ptr_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "35288:1467:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35466:9:132",
                "nodeType": "YulTypedName",
                "src": "35466:9:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "35477:6:132",
                "nodeType": "YulTypedName",
                "src": "35477:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "35485:6:132",
                "nodeType": "YulTypedName",
                "src": "35485:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "35493:6:132",
                "nodeType": "YulTypedName",
                "src": "35493:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "35504:4:132",
                "nodeType": "YulTypedName",
                "src": "35504:4:132",
                "type": ""
              }
            ],
            "src": "35288:1467:132"
          },
          {
            "body": {
              "nativeSrc": "36832:88:132",
              "nodeType": "YulBlock",
              "src": "36832:88:132",
              "statements": [
                {
                  "nativeSrc": "36842:22:132",
                  "nodeType": "YulAssignment",
                  "src": "36842:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "36857:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "36857:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36851:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "36851:5:132"
                    },
                    "nativeSrc": "36851:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36851:13:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "36842:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "36842:5:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36898:16:132",
                    "nodeType": "YulBlock",
                    "src": "36898:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36907:1:132",
                              "nodeType": "YulLiteral",
                              "src": "36907:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36910:1:132",
                              "nodeType": "YulLiteral",
                              "src": "36910:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36900:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "36900:6:132"
                          },
                          "nativeSrc": "36900:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "36900:12:132"
                        },
                        "nativeSrc": "36900:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "36900:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "36886:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "36886:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36893:2:132",
                            "nodeType": "YulLiteral",
                            "src": "36893:2:132",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "36883:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "36883:2:132"
                        },
                        "nativeSrc": "36883:13:132",
                        "nodeType": "YulFunctionCall",
                        "src": "36883:13:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "36876:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "36876:6:132"
                    },
                    "nativeSrc": "36876:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "36876:21:132"
                  },
                  "nativeSrc": "36873:41:132",
                  "nodeType": "YulIf",
                  "src": "36873:41:132"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataTypes_fromMemory",
            "nativeSrc": "36760:160:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "36811:6:132",
                "nodeType": "YulTypedName",
                "src": "36811:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "36822:5:132",
                "nodeType": "YulTypedName",
                "src": "36822:5:132",
                "type": ""
              }
            ],
            "src": "36760:160:132"
          },
          {
            "body": {
              "nativeSrc": "36983:102:132",
              "nodeType": "YulBlock",
              "src": "36983:102:132",
              "statements": [
                {
                  "nativeSrc": "36993:22:132",
                  "nodeType": "YulAssignment",
                  "src": "36993:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "37008:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "37008:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37002:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37002:5:132"
                    },
                    "nativeSrc": "37002:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37002:13:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "36993:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "36993:5:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37063:16:132",
                    "nodeType": "YulBlock",
                    "src": "37063:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37072:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37072:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37075:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37075:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37065:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37065:6:132"
                          },
                          "nativeSrc": "37065:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "37065:12:132"
                        },
                        "nativeSrc": "37065:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "37065:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "37037:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "37037:5:132"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "37048:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "37048:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37055:4:132",
                                "nodeType": "YulLiteral",
                                "src": "37055:4:132",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "37044:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "37044:3:132"
                            },
                            "nativeSrc": "37044:16:132",
                            "nodeType": "YulFunctionCall",
                            "src": "37044:16:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "37034:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "37034:2:132"
                        },
                        "nativeSrc": "37034:27:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37034:27:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "37027:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "37027:6:132"
                    },
                    "nativeSrc": "37027:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37027:35:132"
                  },
                  "nativeSrc": "37024:55:132",
                  "nodeType": "YulIf",
                  "src": "37024:55:132"
                }
              ]
            },
            "name": "abi_decode_uint8_fromMemory",
            "nativeSrc": "36925:160:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "36962:6:132",
                "nodeType": "YulTypedName",
                "src": "36962:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "36973:5:132",
                "nodeType": "YulTypedName",
                "src": "36973:5:132",
                "type": ""
              }
            ],
            "src": "36925:160:132"
          },
          {
            "body": {
              "nativeSrc": "37162:1152:132",
              "nodeType": "YulBlock",
              "src": "37162:1152:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37206:16:132",
                    "nodeType": "YulBlock",
                    "src": "37206:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37215:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37215:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37218:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37218:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37208:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37208:6:132"
                          },
                          "nativeSrc": "37208:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "37208:12:132"
                        },
                        "nativeSrc": "37208:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "37208:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "37183:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "37183:3:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "37188:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "37188:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37179:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "37179:3:132"
                        },
                        "nativeSrc": "37179:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37179:19:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37200:4:132",
                        "nodeType": "YulLiteral",
                        "src": "37200:4:132",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37175:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "37175:3:132"
                    },
                    "nativeSrc": "37175:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37175:30:132"
                  },
                  "nativeSrc": "37172:50:132",
                  "nodeType": "YulIf",
                  "src": "37172:50:132"
                },
                {
                  "nativeSrc": "37231:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37231:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37251:2:132",
                        "nodeType": "YulLiteral",
                        "src": "37251:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37245:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37245:5:132"
                    },
                    "nativeSrc": "37245:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37245:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "37235:6:132",
                      "nodeType": "YulTypedName",
                      "src": "37235:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "37288:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "37288:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6391",
                      "nativeSrc": "37263:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "37263:24:132"
                    },
                    "nativeSrc": "37263:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37263:32:132"
                  },
                  "nativeSrc": "37263:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37263:32:132"
                },
                {
                  "nativeSrc": "37304:15:132",
                  "nodeType": "YulAssignment",
                  "src": "37304:15:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "37313:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "37313:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "37304:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37304:5:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "37328:30:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37328:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37348:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "37348:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37342:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37342:5:132"
                    },
                    "nativeSrc": "37342:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37342:16:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "37332:6:132",
                      "nodeType": "YulTypedName",
                      "src": "37332:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37401:16:132",
                    "nodeType": "YulBlock",
                    "src": "37401:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37410:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37410:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37413:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37413:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37403:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37403:6:132"
                          },
                          "nativeSrc": "37403:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "37403:12:132"
                        },
                        "nativeSrc": "37403:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "37403:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "37373:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "37373:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37381:18:132",
                        "nodeType": "YulLiteral",
                        "src": "37381:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37370:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "37370:2:132"
                    },
                    "nativeSrc": "37370:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37370:30:132"
                  },
                  "nativeSrc": "37367:50:132",
                  "nodeType": "YulIf",
                  "src": "37367:50:132"
                },
                {
                  "nativeSrc": "37426:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37426:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37440:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "37440:9:132"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "37451:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "37451:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37436:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "37436:3:132"
                    },
                    "nativeSrc": "37436:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37436:22:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37430:2:132",
                      "nodeType": "YulTypedName",
                      "src": "37430:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37492:16:132",
                    "nodeType": "YulBlock",
                    "src": "37492:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37501:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37501:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37504:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37504:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37494:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37494:6:132"
                          },
                          "nativeSrc": "37494:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "37494:12:132"
                        },
                        "nativeSrc": "37494:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "37494:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "37478:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "37478:3:132"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "37483:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "37483:2:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37474:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "37474:3:132"
                        },
                        "nativeSrc": "37474:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37474:12:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37488:2:132",
                        "nodeType": "YulLiteral",
                        "src": "37488:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37470:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "37470:3:132"
                    },
                    "nativeSrc": "37470:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37470:21:132"
                  },
                  "nativeSrc": "37467:41:132",
                  "nodeType": "YulIf",
                  "src": "37467:41:132"
                },
                {
                  "nativeSrc": "37517:25:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37517:25:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37539:2:132",
                        "nodeType": "YulLiteral",
                        "src": "37539:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37533:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37533:5:132"
                    },
                    "nativeSrc": "37533:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37533:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr_1",
                      "nativeSrc": "37521:8:132",
                      "nodeType": "YulTypedName",
                      "src": "37521:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr_1",
                        "nativeSrc": "37576:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "37576:8:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6392",
                      "nativeSrc": "37551:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "37551:24:132"
                    },
                    "nativeSrc": "37551:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37551:34:132"
                  },
                  "nativeSrc": "37551:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37551:34:132"
                },
                {
                  "nativeSrc": "37594:25:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37594:25:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "37616:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "37616:2:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37610:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37610:5:132"
                    },
                    "nativeSrc": "37610:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37610:9:132"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "37598:8:132",
                      "nodeType": "YulTypedName",
                      "src": "37598:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37664:16:132",
                    "nodeType": "YulBlock",
                    "src": "37664:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37673:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37673:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37676:1:132",
                              "nodeType": "YulLiteral",
                              "src": "37676:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37666:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37666:6:132"
                          },
                          "nativeSrc": "37666:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "37666:12:132"
                        },
                        "nativeSrc": "37666:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "37666:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "37634:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "37634:8:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37644:18:132",
                        "nodeType": "YulLiteral",
                        "src": "37644:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37631:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "37631:2:132"
                    },
                    "nativeSrc": "37631:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37631:32:132"
                  },
                  "nativeSrc": "37628:52:132",
                  "nodeType": "YulIf",
                  "src": "37628:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr_1",
                        "nativeSrc": "37696:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "37696:8:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "37738:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "37738:2:132"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "37742:8:132",
                                "nodeType": "YulIdentifier",
                                "src": "37742:8:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37734:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "37734:3:132"
                            },
                            "nativeSrc": "37734:17:132",
                            "nodeType": "YulFunctionCall",
                            "src": "37734:17:132"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "37753:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "37753:3:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes_fromMemory",
                          "nativeSrc": "37706:27:132",
                          "nodeType": "YulIdentifier",
                          "src": "37706:27:132"
                        },
                        "nativeSrc": "37706:51:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37706:51:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37689:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "37689:6:132"
                    },
                    "nativeSrc": "37689:69:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37689:69:132"
                  },
                  "nativeSrc": "37689:69:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37689:69:132"
                },
                {
                  "nativeSrc": "37767:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37767:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "37782:1:132",
                    "nodeType": "YulLiteral",
                    "src": "37782:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "37771:7:132",
                      "nodeType": "YulTypedName",
                      "src": "37771:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37792:29:132",
                  "nodeType": "YulAssignment",
                  "src": "37792:29:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "37813:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "37813:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37817:2:132",
                            "nodeType": "YulLiteral",
                            "src": "37817:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37809:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "37809:3:132"
                        },
                        "nativeSrc": "37809:11:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37809:11:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37803:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "37803:5:132"
                    },
                    "nativeSrc": "37803:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37803:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "37792:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "37792:7:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr_1",
                            "nativeSrc": "37841:8:132",
                            "nodeType": "YulIdentifier",
                            "src": "37841:8:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37851:2:132",
                            "nodeType": "YulLiteral",
                            "src": "37851:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37837:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "37837:3:132"
                        },
                        "nativeSrc": "37837:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37837:17:132"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "37856:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "37856:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37830:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "37830:6:132"
                    },
                    "nativeSrc": "37830:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37830:34:132"
                  },
                  "nativeSrc": "37830:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37830:34:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "37880:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "37880:6:132"
                      },
                      {
                        "name": "memPtr_1",
                        "nativeSrc": "37888:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "37888:8:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37873:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "37873:6:132"
                    },
                    "nativeSrc": "37873:24:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37873:24:132"
                  },
                  "nativeSrc": "37873:24:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37873:24:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "37917:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37917:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37925:2:132",
                            "nodeType": "YulLiteral",
                            "src": "37925:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37913:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "37913:3:132"
                        },
                        "nativeSrc": "37913:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37913:15:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "37962:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "37962:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37973:2:132",
                                "nodeType": "YulLiteral",
                                "src": "37973:2:132",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37958:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "37958:3:132"
                            },
                            "nativeSrc": "37958:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "37958:18:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "37930:27:132",
                          "nodeType": "YulIdentifier",
                          "src": "37930:27:132"
                        },
                        "nativeSrc": "37930:47:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37930:47:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37906:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "37906:6:132"
                    },
                    "nativeSrc": "37906:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37906:72:132"
                  },
                  "nativeSrc": "37906:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37906:72:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "37998:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "37998:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38006:2:132",
                            "nodeType": "YulLiteral",
                            "src": "38006:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37994:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "37994:3:132"
                        },
                        "nativeSrc": "37994:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "37994:15:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "38043:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "38043:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38054:2:132",
                                "nodeType": "YulLiteral",
                                "src": "38054:2:132",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38039:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "38039:3:132"
                            },
                            "nativeSrc": "38039:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "38039:18:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "38011:27:132",
                          "nodeType": "YulIdentifier",
                          "src": "38011:27:132"
                        },
                        "nativeSrc": "38011:47:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38011:47:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37987:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "37987:6:132"
                    },
                    "nativeSrc": "37987:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "37987:72:132"
                  },
                  "nativeSrc": "37987:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "37987:72:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "38079:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38079:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38087:2:132",
                            "nodeType": "YulLiteral",
                            "src": "38087:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38075:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "38075:3:132"
                        },
                        "nativeSrc": "38075:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38075:15:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "38124:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "38124:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38135:2:132",
                                "nodeType": "YulLiteral",
                                "src": "38135:2:132",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38120:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "38120:3:132"
                            },
                            "nativeSrc": "38120:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "38120:18:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "38092:27:132",
                          "nodeType": "YulIdentifier",
                          "src": "38092:27:132"
                        },
                        "nativeSrc": "38092:47:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38092:47:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38068:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "38068:6:132"
                    },
                    "nativeSrc": "38068:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38068:72:132"
                  },
                  "nativeSrc": "38068:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "38068:72:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "38160:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38160:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38168:3:132",
                            "nodeType": "YulLiteral",
                            "src": "38168:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38156:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "38156:3:132"
                        },
                        "nativeSrc": "38156:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38156:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "38207:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "38207:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38218:3:132",
                                "nodeType": "YulLiteral",
                                "src": "38218:3:132",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38203:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "38203:3:132"
                            },
                            "nativeSrc": "38203:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "38203:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64_fromMemory",
                          "nativeSrc": "38174:28:132",
                          "nodeType": "YulIdentifier",
                          "src": "38174:28:132"
                        },
                        "nativeSrc": "38174:49:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38174:49:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38149:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "38149:6:132"
                    },
                    "nativeSrc": "38149:75:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38149:75:132"
                  },
                  "nativeSrc": "38149:75:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "38149:75:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "38244:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38244:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38252:3:132",
                            "nodeType": "YulLiteral",
                            "src": "38252:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38240:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "38240:3:132"
                        },
                        "nativeSrc": "38240:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38240:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "38291:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "38291:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38302:3:132",
                                "nodeType": "YulLiteral",
                                "src": "38302:3:132",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38287:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "38287:3:132"
                            },
                            "nativeSrc": "38287:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "38287:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64_fromMemory",
                          "nativeSrc": "38258:28:132",
                          "nodeType": "YulIdentifier",
                          "src": "38258:28:132"
                        },
                        "nativeSrc": "38258:49:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38258:49:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38233:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "38233:6:132"
                    },
                    "nativeSrc": "38233:75:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38233:75:132"
                  },
                  "nativeSrc": "38233:75:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "38233:75:132"
                }
              ]
            },
            "name": "abi_decode_struct_CBOR_fromMemory",
            "nativeSrc": "37090:1224:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37133:9:132",
                "nodeType": "YulTypedName",
                "src": "37133:9:132",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "37144:3:132",
                "nodeType": "YulTypedName",
                "src": "37144:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "37152:5:132",
                "nodeType": "YulTypedName",
                "src": "37152:5:132",
                "type": ""
              }
            ],
            "src": "37090:1224:132"
          },
          {
            "body": {
              "nativeSrc": "38429:1047:132",
              "nodeType": "YulBlock",
              "src": "38429:1047:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38475:16:132",
                    "nodeType": "YulBlock",
                    "src": "38475:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38484:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38484:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38487:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38487:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38477:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38477:6:132"
                          },
                          "nativeSrc": "38477:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "38477:12:132"
                        },
                        "nativeSrc": "38477:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "38477:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38450:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "38450:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "38459:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "38459:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38446:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "38446:3:132"
                        },
                        "nativeSrc": "38446:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38446:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38471:2:132",
                        "nodeType": "YulLiteral",
                        "src": "38471:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38442:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "38442:3:132"
                    },
                    "nativeSrc": "38442:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38442:32:132"
                  },
                  "nativeSrc": "38439:52:132",
                  "nodeType": "YulIf",
                  "src": "38439:52:132"
                },
                {
                  "nativeSrc": "38500:30:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38500:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38520:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "38520:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38514:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "38514:5:132"
                    },
                    "nativeSrc": "38514:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38514:16:132"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "38504:6:132",
                      "nodeType": "YulTypedName",
                      "src": "38504:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38573:16:132",
                    "nodeType": "YulBlock",
                    "src": "38573:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38582:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38582:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38585:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38585:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38575:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38575:6:132"
                          },
                          "nativeSrc": "38575:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "38575:12:132"
                        },
                        "nativeSrc": "38575:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "38575:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "38545:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "38545:6:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38553:18:132",
                        "nodeType": "YulLiteral",
                        "src": "38553:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "38542:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "38542:2:132"
                    },
                    "nativeSrc": "38542:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38542:30:132"
                  },
                  "nativeSrc": "38539:50:132",
                  "nodeType": "YulIf",
                  "src": "38539:50:132"
                },
                {
                  "nativeSrc": "38598:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38598:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38612:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "38612:9:132"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "38623:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "38623:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38608:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "38608:3:132"
                    },
                    "nativeSrc": "38608:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38608:22:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38602:2:132",
                      "nodeType": "YulTypedName",
                      "src": "38602:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38670:16:132",
                    "nodeType": "YulBlock",
                    "src": "38670:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38679:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38679:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38682:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38682:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38672:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38672:6:132"
                          },
                          "nativeSrc": "38672:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "38672:12:132"
                        },
                        "nativeSrc": "38672:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "38672:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38650:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "38650:7:132"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "38659:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "38659:2:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38646:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "38646:3:132"
                        },
                        "nativeSrc": "38646:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38646:16:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38664:4:132",
                        "nodeType": "YulLiteral",
                        "src": "38664:4:132",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38642:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "38642:3:132"
                    },
                    "nativeSrc": "38642:27:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38642:27:132"
                  },
                  "nativeSrc": "38639:47:132",
                  "nodeType": "YulIf",
                  "src": "38639:47:132"
                },
                {
                  "nativeSrc": "38695:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38695:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38715:2:132",
                        "nodeType": "YulLiteral",
                        "src": "38715:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38709:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "38709:5:132"
                    },
                    "nativeSrc": "38709:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38709:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "38699:6:132",
                      "nodeType": "YulTypedName",
                      "src": "38699:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38752:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "38752:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6391",
                      "nativeSrc": "38727:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "38727:24:132"
                    },
                    "nativeSrc": "38727:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38727:32:132"
                  },
                  "nativeSrc": "38727:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "38727:32:132"
                },
                {
                  "nativeSrc": "38768:22:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38768:22:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "38787:2:132",
                        "nodeType": "YulIdentifier",
                        "src": "38787:2:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38781:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "38781:5:132"
                    },
                    "nativeSrc": "38781:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38781:9:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "38772:5:132",
                      "nodeType": "YulTypedName",
                      "src": "38772:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38825:16:132",
                    "nodeType": "YulBlock",
                    "src": "38825:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38834:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38834:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38837:1:132",
                              "nodeType": "YulLiteral",
                              "src": "38837:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38827:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38827:6:132"
                          },
                          "nativeSrc": "38827:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "38827:12:132"
                        },
                        "nativeSrc": "38827:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "38827:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "38812:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "38812:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38819:3:132",
                            "nodeType": "YulLiteral",
                            "src": "38819:3:132",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "38809:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "38809:2:132"
                        },
                        "nativeSrc": "38809:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38809:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38802:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "38802:6:132"
                    },
                    "nativeSrc": "38802:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38802:22:132"
                  },
                  "nativeSrc": "38799:42:132",
                  "nodeType": "YulIf",
                  "src": "38799:42:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38857:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "38857:6:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "38865:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "38865:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38850:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "38850:6:132"
                    },
                    "nativeSrc": "38850:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38850:21:132"
                  },
                  "nativeSrc": "38850:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "38850:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "38891:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "38891:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38899:2:132",
                            "nodeType": "YulLiteral",
                            "src": "38899:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38887:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "38887:3:132"
                        },
                        "nativeSrc": "38887:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38887:15:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "38950:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "38950:2:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38954:2:132",
                                "nodeType": "YulLiteral",
                                "src": "38954:2:132",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38946:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "38946:3:132"
                            },
                            "nativeSrc": "38946:11:132",
                            "nodeType": "YulFunctionCall",
                            "src": "38946:11:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                          "nativeSrc": "38904:41:132",
                          "nodeType": "YulIdentifier",
                          "src": "38904:41:132"
                        },
                        "nativeSrc": "38904:54:132",
                        "nodeType": "YulFunctionCall",
                        "src": "38904:54:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38880:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "38880:6:132"
                    },
                    "nativeSrc": "38880:79:132",
                    "nodeType": "YulFunctionCall",
                    "src": "38880:79:132"
                  },
                  "nativeSrc": "38880:79:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "38880:79:132"
                },
                {
                  "nativeSrc": "38968:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38968:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "38983:1:132",
                    "nodeType": "YulLiteral",
                    "src": "38983:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "38972:7:132",
                      "nodeType": "YulTypedName",
                      "src": "38972:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38993:29:132",
                  "nodeType": "YulAssignment",
                  "src": "38993:29:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "39014:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "39014:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39018:2:132",
                            "nodeType": "YulLiteral",
                            "src": "39018:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39010:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39010:3:132"
                        },
                        "nativeSrc": "39010:11:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39010:11:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39004:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "39004:5:132"
                    },
                    "nativeSrc": "39004:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39004:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "38993:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "38993:7:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "39042:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "39042:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39050:2:132",
                            "nodeType": "YulLiteral",
                            "src": "39050:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39038:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39038:3:132"
                        },
                        "nativeSrc": "39038:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39038:15:132"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "39055:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "39055:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39031:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "39031:6:132"
                    },
                    "nativeSrc": "39031:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39031:32:132"
                  },
                  "nativeSrc": "39031:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "39031:32:132"
                },
                {
                  "nativeSrc": "39072:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39072:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39087:1:132",
                    "nodeType": "YulLiteral",
                    "src": "39087:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "39076:7:132",
                      "nodeType": "YulTypedName",
                      "src": "39076:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39097:29:132",
                  "nodeType": "YulAssignment",
                  "src": "39097:29:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "39118:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "39118:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39122:2:132",
                            "nodeType": "YulLiteral",
                            "src": "39122:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39114:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39114:3:132"
                        },
                        "nativeSrc": "39114:11:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39114:11:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39108:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "39108:5:132"
                    },
                    "nativeSrc": "39108:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39108:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "39097:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "39097:7:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "39146:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "39146:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39154:2:132",
                            "nodeType": "YulLiteral",
                            "src": "39154:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39142:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39142:3:132"
                        },
                        "nativeSrc": "39142:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39142:15:132"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "39159:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "39159:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39135:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "39135:6:132"
                    },
                    "nativeSrc": "39135:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39135:32:132"
                  },
                  "nativeSrc": "39135:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "39135:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "39187:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "39187:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39195:3:132",
                            "nodeType": "YulLiteral",
                            "src": "39195:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39183:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39183:3:132"
                        },
                        "nativeSrc": "39183:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39183:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "39234:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "39234:2:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "39238:3:132",
                                "nodeType": "YulLiteral",
                                "src": "39238:3:132",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39230:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "39230:3:132"
                            },
                            "nativeSrc": "39230:12:132",
                            "nodeType": "YulFunctionCall",
                            "src": "39230:12:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64_fromMemory",
                          "nativeSrc": "39201:28:132",
                          "nodeType": "YulIdentifier",
                          "src": "39201:28:132"
                        },
                        "nativeSrc": "39201:42:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39201:42:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39176:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "39176:6:132"
                    },
                    "nativeSrc": "39176:68:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39176:68:132"
                  },
                  "nativeSrc": "39176:68:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "39176:68:132"
                },
                {
                  "nativeSrc": "39253:35:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39253:35:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "39279:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "39279:2:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39283:3:132",
                            "nodeType": "YulLiteral",
                            "src": "39283:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39275:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39275:3:132"
                        },
                        "nativeSrc": "39275:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39275:12:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39269:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "39269:5:132"
                    },
                    "nativeSrc": "39269:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39269:19:132"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "39257:8:132",
                      "nodeType": "YulTypedName",
                      "src": "39257:8:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39333:16:132",
                    "nodeType": "YulBlock",
                    "src": "39333:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39342:1:132",
                              "nodeType": "YulLiteral",
                              "src": "39342:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39345:1:132",
                              "nodeType": "YulLiteral",
                              "src": "39345:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "39335:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "39335:6:132"
                          },
                          "nativeSrc": "39335:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "39335:12:132"
                        },
                        "nativeSrc": "39335:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "39335:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "39303:8:132",
                        "nodeType": "YulIdentifier",
                        "src": "39303:8:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39313:18:132",
                        "nodeType": "YulLiteral",
                        "src": "39313:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39300:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "39300:2:132"
                    },
                    "nativeSrc": "39300:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39300:32:132"
                  },
                  "nativeSrc": "39297:52:132",
                  "nodeType": "YulIf",
                  "src": "39297:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "39369:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "39369:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39377:3:132",
                            "nodeType": "YulLiteral",
                            "src": "39377:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39365:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39365:3:132"
                        },
                        "nativeSrc": "39365:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39365:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "39421:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "39421:2:132"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "39425:8:132",
                                "nodeType": "YulIdentifier",
                                "src": "39425:8:132"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39417:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "39417:3:132"
                            },
                            "nativeSrc": "39417:17:132",
                            "nodeType": "YulFunctionCall",
                            "src": "39417:17:132"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "39436:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "39436:7:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_CBOR_fromMemory",
                          "nativeSrc": "39383:33:132",
                          "nodeType": "YulIdentifier",
                          "src": "39383:33:132"
                        },
                        "nativeSrc": "39383:61:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39383:61:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39358:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "39358:6:132"
                    },
                    "nativeSrc": "39358:87:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39358:87:132"
                  },
                  "nativeSrc": "39358:87:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "39358:87:132"
                },
                {
                  "nativeSrc": "39454:16:132",
                  "nodeType": "YulAssignment",
                  "src": "39454:16:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "39464:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "39464:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39454:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "39454:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataResult_$34724_memory_ptr_fromMemory",
            "nativeSrc": "38319:1157:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38395:9:132",
                "nodeType": "YulTypedName",
                "src": "38395:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "38406:7:132",
                "nodeType": "YulTypedName",
                "src": "38406:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "38418:6:132",
                "nodeType": "YulTypedName",
                "src": "38418:6:132",
                "type": ""
              }
            ],
            "src": "38319:1157:132"
          },
          {
            "body": {
              "nativeSrc": "39528:144:132",
              "nodeType": "YulBlock",
              "src": "39528:144:132",
              "statements": [
                {
                  "nativeSrc": "39538:66:132",
                  "nodeType": "YulAssignment",
                  "src": "39538:66:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39553:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "39553:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39556:18:132",
                            "nodeType": "YulLiteral",
                            "src": "39556:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39549:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39549:3:132"
                        },
                        "nativeSrc": "39549:26:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39549:26:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39581:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "39581:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39584:18:132",
                            "nodeType": "YulLiteral",
                            "src": "39584:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39577:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39577:3:132"
                        },
                        "nativeSrc": "39577:26:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39577:26:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39545:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "39545:3:132"
                    },
                    "nativeSrc": "39545:59:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39545:59:132"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "39538:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "39538:3:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39644:22:132",
                    "nodeType": "YulBlock",
                    "src": "39644:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39646:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "39646:16:132"
                          },
                          "nativeSrc": "39646:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "39646:18:132"
                        },
                        "nativeSrc": "39646:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "39646:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "39619:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "39619:3:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39624:18:132",
                        "nodeType": "YulLiteral",
                        "src": "39624:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39616:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "39616:2:132"
                    },
                    "nativeSrc": "39616:27:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39616:27:132"
                  },
                  "nativeSrc": "39613:53:132",
                  "nodeType": "YulIf",
                  "src": "39613:53:132"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "39481:191:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39511:1:132",
                "nodeType": "YulTypedName",
                "src": "39511:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39514:1:132",
                "nodeType": "YulTypedName",
                "src": "39514:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "39520:3:132",
                "nodeType": "YulTypedName",
                "src": "39520:3:132",
                "type": ""
              }
            ],
            "src": "39481:191:132"
          },
          {
            "body": {
              "nativeSrc": "39725:146:132",
              "nodeType": "YulBlock",
              "src": "39725:146:132",
              "statements": [
                {
                  "nativeSrc": "39735:67:132",
                  "nodeType": "YulAssignment",
                  "src": "39735:67:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39751:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "39751:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39754:18:132",
                            "nodeType": "YulLiteral",
                            "src": "39754:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39747:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39747:3:132"
                        },
                        "nativeSrc": "39747:26:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39747:26:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39779:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "39779:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39782:18:132",
                            "nodeType": "YulLiteral",
                            "src": "39782:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39775:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39775:3:132"
                        },
                        "nativeSrc": "39775:26:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39775:26:132"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "39743:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "39743:3:132"
                    },
                    "nativeSrc": "39743:59:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39743:59:132"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "39735:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "39735:4:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39843:22:132",
                    "nodeType": "YulBlock",
                    "src": "39843:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39845:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "39845:16:132"
                          },
                          "nativeSrc": "39845:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "39845:18:132"
                        },
                        "nativeSrc": "39845:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "39845:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "39817:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "39817:4:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39823:18:132",
                        "nodeType": "YulLiteral",
                        "src": "39823:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39814:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "39814:2:132"
                    },
                    "nativeSrc": "39814:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39814:28:132"
                  },
                  "nativeSrc": "39811:54:132",
                  "nodeType": "YulIf",
                  "src": "39811:54:132"
                }
              ]
            },
            "name": "checked_sub_t_uint64",
            "nativeSrc": "39677:194:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39707:1:132",
                "nodeType": "YulTypedName",
                "src": "39707:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39710:1:132",
                "nodeType": "YulTypedName",
                "src": "39710:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "39716:4:132",
                "nodeType": "YulTypedName",
                "src": "39716:4:132",
                "type": ""
              }
            ],
            "src": "39677:194:132"
          },
          {
            "body": {
              "nativeSrc": "39923:167:132",
              "nodeType": "YulBlock",
              "src": "39923:167:132",
              "statements": [
                {
                  "nativeSrc": "39933:47:132",
                  "nodeType": "YulAssignment",
                  "src": "39933:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "39956:1:132",
                            "nodeType": "YulLiteral",
                            "src": "39956:1:132",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "name": "x",
                            "nativeSrc": "39959:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "39959:1:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "39945:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "39945:10:132"
                        },
                        "nativeSrc": "39945:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39945:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "39974:1:132",
                            "nodeType": "YulLiteral",
                            "src": "39974:1:132",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "name": "y",
                            "nativeSrc": "39977:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "39977:1:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "39963:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "39963:10:132"
                        },
                        "nativeSrc": "39963:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39963:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "39941:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "39941:3:132"
                    },
                    "nativeSrc": "39941:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39941:39:132"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "39933:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "39933:4:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40062:22:132",
                    "nodeType": "YulBlock",
                    "src": "40062:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "40064:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "40064:16:132"
                          },
                          "nativeSrc": "40064:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "40064:18:132"
                        },
                        "nativeSrc": "40064:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "40064:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "diff",
                            "nativeSrc": "39999:4:132",
                            "nodeType": "YulIdentifier",
                            "src": "39999:4:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "40009:18:132",
                                "nodeType": "YulLiteral",
                                "src": "40009:18:132",
                                "type": "",
                                "value": "0x7fffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "40005:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "40005:3:132"
                            },
                            "nativeSrc": "40005:23:132",
                            "nodeType": "YulFunctionCall",
                            "src": "40005:23:132"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "39995:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "39995:3:132"
                        },
                        "nativeSrc": "39995:34:132",
                        "nodeType": "YulFunctionCall",
                        "src": "39995:34:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "diff",
                            "nativeSrc": "40035:4:132",
                            "nodeType": "YulIdentifier",
                            "src": "40035:4:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40041:18:132",
                            "nodeType": "YulLiteral",
                            "src": "40041:18:132",
                            "type": "",
                            "value": "0x7fffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "sgt",
                          "nativeSrc": "40031:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "40031:3:132"
                        },
                        "nativeSrc": "40031:29:132",
                        "nodeType": "YulFunctionCall",
                        "src": "40031:29:132"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "39992:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "39992:2:132"
                    },
                    "nativeSrc": "39992:69:132",
                    "nodeType": "YulFunctionCall",
                    "src": "39992:69:132"
                  },
                  "nativeSrc": "39989:95:132",
                  "nodeType": "YulIf",
                  "src": "39989:95:132"
                }
              ]
            },
            "name": "checked_sub_t_int64",
            "nativeSrc": "39876:214:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39905:1:132",
                "nodeType": "YulTypedName",
                "src": "39905:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39908:1:132",
                "nodeType": "YulTypedName",
                "src": "39908:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "39914:4:132",
                "nodeType": "YulTypedName",
                "src": "39914:4:132",
                "type": ""
              }
            ],
            "src": "39876:214:132"
          },
          {
            "body": {
              "nativeSrc": "40137:151:132",
              "nodeType": "YulBlock",
              "src": "40137:151:132",
              "statements": [
                {
                  "nativeSrc": "40147:35:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40147:35:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40173:1:132",
                        "nodeType": "YulLiteral",
                        "src": "40173:1:132",
                        "type": "",
                        "value": "6"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "40176:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "40176:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "signextend",
                      "nativeSrc": "40162:10:132",
                      "nodeType": "YulIdentifier",
                      "src": "40162:10:132"
                    },
                    "nativeSrc": "40162:20:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40162:20:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "40151:7:132",
                      "nodeType": "YulTypedName",
                      "src": "40151:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40229:22:132",
                    "nodeType": "YulBlock",
                    "src": "40229:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "40231:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "40231:16:132"
                          },
                          "nativeSrc": "40231:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "40231:18:132"
                        },
                        "nativeSrc": "40231:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "40231:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "40197:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "40197:7:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "40210:16:132",
                            "nodeType": "YulLiteral",
                            "src": "40210:16:132",
                            "type": "",
                            "value": "0x7fffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "40206:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "40206:3:132"
                        },
                        "nativeSrc": "40206:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "40206:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "40194:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "40194:2:132"
                    },
                    "nativeSrc": "40194:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40194:34:132"
                  },
                  "nativeSrc": "40191:60:132",
                  "nodeType": "YulIf",
                  "src": "40191:60:132"
                },
                {
                  "nativeSrc": "40260:22:132",
                  "nodeType": "YulAssignment",
                  "src": "40260:22:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40271:1:132",
                        "nodeType": "YulLiteral",
                        "src": "40271:1:132",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "40274:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "40274:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "40267:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "40267:3:132"
                    },
                    "nativeSrc": "40267:15:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40267:15:132"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "40260:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "40260:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "negate_t_int56",
            "nativeSrc": "40095:193:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "40119:5:132",
                "nodeType": "YulTypedName",
                "src": "40119:5:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "40129:3:132",
                "nodeType": "YulTypedName",
                "src": "40129:3:132",
                "type": ""
              }
            ],
            "src": "40095:193:132"
          },
          {
            "body": {
              "nativeSrc": "40343:187:132",
              "nodeType": "YulBlock",
              "src": "40343:187:132",
              "statements": [
                {
                  "nativeSrc": "40353:58:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40353:58:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "40387:1:132",
                            "nodeType": "YulLiteral",
                            "src": "40387:1:132",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "x",
                            "nativeSrc": "40390:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "40390:1:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "40376:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "40376:10:132"
                        },
                        "nativeSrc": "40376:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "40376:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "40405:1:132",
                            "nodeType": "YulLiteral",
                            "src": "40405:1:132",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "y",
                            "nativeSrc": "40408:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "40408:1:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "40394:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "40394:10:132"
                        },
                        "nativeSrc": "40394:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "40394:16:132"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "40372:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "40372:3:132"
                    },
                    "nativeSrc": "40372:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40372:39:132"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "40357:11:132",
                      "nodeType": "YulTypedName",
                      "src": "40357:11:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40420:37:132",
                  "nodeType": "YulAssignment",
                  "src": "40420:37:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "40442:1:132",
                        "nodeType": "YulLiteral",
                        "src": "40442:1:132",
                        "type": "",
                        "value": "6"
                      },
                      {
                        "name": "product_raw",
                        "nativeSrc": "40445:11:132",
                        "nodeType": "YulIdentifier",
                        "src": "40445:11:132"
                      }
                    ],
                    "functionName": {
                      "name": "signextend",
                      "nativeSrc": "40431:10:132",
                      "nodeType": "YulIdentifier",
                      "src": "40431:10:132"
                    },
                    "nativeSrc": "40431:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40431:26:132"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "40420:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "40420:7:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40502:22:132",
                    "nodeType": "YulBlock",
                    "src": "40502:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "40504:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "40504:16:132"
                          },
                          "nativeSrc": "40504:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "40504:18:132"
                        },
                        "nativeSrc": "40504:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "40504:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "40479:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "40479:7:132"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "40488:11:132",
                            "nodeType": "YulIdentifier",
                            "src": "40488:11:132"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "40476:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "40476:2:132"
                        },
                        "nativeSrc": "40476:24:132",
                        "nodeType": "YulFunctionCall",
                        "src": "40476:24:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "40469:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "40469:6:132"
                    },
                    "nativeSrc": "40469:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40469:32:132"
                  },
                  "nativeSrc": "40466:58:132",
                  "nodeType": "YulIf",
                  "src": "40466:58:132"
                }
              ]
            },
            "name": "checked_mul_t_int56",
            "nativeSrc": "40293:237:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "40322:1:132",
                "nodeType": "YulTypedName",
                "src": "40322:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "40325:1:132",
                "nodeType": "YulTypedName",
                "src": "40325:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "40331:7:132",
                "nodeType": "YulTypedName",
                "src": "40331:7:132",
                "type": ""
              }
            ],
            "src": "40293:237:132"
          },
          {
            "body": {
              "nativeSrc": "40580:149:132",
              "nodeType": "YulBlock",
              "src": "40580:149:132",
              "statements": [
                {
                  "nativeSrc": "40590:37:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40590:37:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "40605:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "40605:1:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40608:18:132",
                        "nodeType": "YulLiteral",
                        "src": "40608:18:132",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "40601:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "40601:3:132"
                    },
                    "nativeSrc": "40601:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40601:26:132"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "40594:3:132",
                      "nodeType": "YulTypedName",
                      "src": "40594:3:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40651:22:132",
                    "nodeType": "YulBlock",
                    "src": "40651:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "40653:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "40653:16:132"
                          },
                          "nativeSrc": "40653:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "40653:18:132"
                        },
                        "nativeSrc": "40653:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "40653:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "40646:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "40646:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "40639:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "40639:6:132"
                    },
                    "nativeSrc": "40639:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40639:11:132"
                  },
                  "nativeSrc": "40636:37:132",
                  "nodeType": "YulIf",
                  "src": "40636:37:132"
                },
                {
                  "nativeSrc": "40682:41:132",
                  "nodeType": "YulAssignment",
                  "src": "40682:41:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "40695:1:132",
                            "nodeType": "YulIdentifier",
                            "src": "40695:1:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40698:18:132",
                            "nodeType": "YulLiteral",
                            "src": "40698:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40691:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "40691:3:132"
                        },
                        "nativeSrc": "40691:26:132",
                        "nodeType": "YulFunctionCall",
                        "src": "40691:26:132"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "40719:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "40719:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "40687:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "40687:3:132"
                    },
                    "nativeSrc": "40687:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "40687:36:132"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "40682:1:132",
                      "nodeType": "YulIdentifier",
                      "src": "40682:1:132"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "40535:194:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "40565:1:132",
                "nodeType": "YulTypedName",
                "src": "40565:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "40568:1:132",
                "nodeType": "YulTypedName",
                "src": "40568:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "40574:1:132",
                "nodeType": "YulTypedName",
                "src": "40574:1:132",
                "type": ""
              }
            ],
            "src": "40535:194:132"
          },
          {
            "body": {
              "nativeSrc": "41002:330:132",
              "nodeType": "YulBlock",
              "src": "41002:330:132",
              "statements": [
                {
                  "nativeSrc": "41012:27:132",
                  "nodeType": "YulAssignment",
                  "src": "41012:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41024:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "41024:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41035:3:132",
                        "nodeType": "YulLiteral",
                        "src": "41035:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "41020:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "41020:3:132"
                    },
                    "nativeSrc": "41020:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41020:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41012:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "41012:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41055:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "41055:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "41070:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41070:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41078:18:132",
                            "nodeType": "YulLiteral",
                            "src": "41078:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41066:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41066:3:132"
                        },
                        "nativeSrc": "41066:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41066:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41048:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41048:6:132"
                    },
                    "nativeSrc": "41048:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41048:50:132"
                  },
                  "nativeSrc": "41048:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41048:50:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41118:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41118:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41129:2:132",
                            "nodeType": "YulLiteral",
                            "src": "41129:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41114:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41114:3:132"
                        },
                        "nativeSrc": "41114:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41114:18:132"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "41134:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "41134:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41107:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41107:6:132"
                    },
                    "nativeSrc": "41107:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41107:34:132"
                  },
                  "nativeSrc": "41107:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41107:34:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41161:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41161:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41172:2:132",
                            "nodeType": "YulLiteral",
                            "src": "41172:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41157:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41157:3:132"
                        },
                        "nativeSrc": "41157:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41157:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "41181:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41181:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41189:18:132",
                            "nodeType": "YulLiteral",
                            "src": "41189:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41177:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41177:3:132"
                        },
                        "nativeSrc": "41177:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41177:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41150:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41150:6:132"
                    },
                    "nativeSrc": "41150:59:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41150:59:132"
                  },
                  "nativeSrc": "41150:59:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41150:59:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41229:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41229:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41240:2:132",
                            "nodeType": "YulLiteral",
                            "src": "41240:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41225:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41225:3:132"
                        },
                        "nativeSrc": "41225:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41225:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "41256:1:132",
                            "nodeType": "YulLiteral",
                            "src": "41256:1:132",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "41259:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41259:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "41245:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "41245:10:132"
                        },
                        "nativeSrc": "41245:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41245:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41218:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41218:6:132"
                    },
                    "nativeSrc": "41218:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41218:49:132"
                  },
                  "nativeSrc": "41218:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41218:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41287:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41287:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41298:3:132",
                            "nodeType": "YulLiteral",
                            "src": "41298:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41283:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41283:3:132"
                        },
                        "nativeSrc": "41283:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41283:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "41315:1:132",
                            "nodeType": "YulLiteral",
                            "src": "41315:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value4",
                            "nativeSrc": "41318:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41318:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "41304:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "41304:10:132"
                        },
                        "nativeSrc": "41304:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41304:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41276:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41276:6:132"
                    },
                    "nativeSrc": "41276:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41276:50:132"
                  },
                  "nativeSrc": "41276:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41276:50:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_Timestamp_$34588_t_userDefinedValueType$_TransactionHash_$34590_t_uint64_t_int56_t_int8__to_t_uint64_t_bytes32_t_uint64_t_int56_t_int8__fromStack_reversed",
            "nativeSrc": "40734:598:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40939:9:132",
                "nodeType": "YulTypedName",
                "src": "40939:9:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "40950:6:132",
                "nodeType": "YulTypedName",
                "src": "40950:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "40958:6:132",
                "nodeType": "YulTypedName",
                "src": "40958:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "40966:6:132",
                "nodeType": "YulTypedName",
                "src": "40966:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40974:6:132",
                "nodeType": "YulTypedName",
                "src": "40974:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40982:6:132",
                "nodeType": "YulTypedName",
                "src": "40982:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40993:4:132",
                "nodeType": "YulTypedName",
                "src": "40993:4:132",
                "type": ""
              }
            ],
            "src": "40734:598:132"
          },
          {
            "body": {
              "nativeSrc": "41683:470:132",
              "nodeType": "YulBlock",
              "src": "41683:470:132",
              "statements": [
                {
                  "nativeSrc": "41693:27:132",
                  "nodeType": "YulAssignment",
                  "src": "41693:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41705:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "41705:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41716:3:132",
                        "nodeType": "YulLiteral",
                        "src": "41716:3:132",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "41701:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "41701:3:132"
                    },
                    "nativeSrc": "41701:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41701:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41693:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "41693:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41736:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "41736:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "41751:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41751:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "41763:3:132",
                                "nodeType": "YulLiteral",
                                "src": "41763:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "41768:10:132",
                                "nodeType": "YulLiteral",
                                "src": "41768:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "41759:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "41759:3:132"
                            },
                            "nativeSrc": "41759:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "41759:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41747:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41747:3:132"
                        },
                        "nativeSrc": "41747:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41747:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41729:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41729:6:132"
                    },
                    "nativeSrc": "41729:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41729:52:132"
                  },
                  "nativeSrc": "41729:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41729:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41801:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41801:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41812:2:132",
                            "nodeType": "YulLiteral",
                            "src": "41812:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41797:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41797:3:132"
                        },
                        "nativeSrc": "41797:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41797:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "41821:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41821:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41829:18:132",
                            "nodeType": "YulLiteral",
                            "src": "41829:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41817:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41817:3:132"
                        },
                        "nativeSrc": "41817:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41817:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41790:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41790:6:132"
                    },
                    "nativeSrc": "41790:59:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41790:59:132"
                  },
                  "nativeSrc": "41790:59:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41790:59:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41869:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41869:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41880:2:132",
                            "nodeType": "YulLiteral",
                            "src": "41880:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41865:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41865:3:132"
                        },
                        "nativeSrc": "41865:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41865:18:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41885:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "41885:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41858:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41858:6:132"
                    },
                    "nativeSrc": "41858:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41858:34:132"
                  },
                  "nativeSrc": "41858:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41858:34:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41912:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41912:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41923:2:132",
                            "nodeType": "YulLiteral",
                            "src": "41923:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41908:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41908:3:132"
                        },
                        "nativeSrc": "41908:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41908:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "41932:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "41932:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41940:18:132",
                            "nodeType": "YulLiteral",
                            "src": "41940:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41928:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41928:3:132"
                        },
                        "nativeSrc": "41928:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41928:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41901:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41901:6:132"
                    },
                    "nativeSrc": "41901:59:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41901:59:132"
                  },
                  "nativeSrc": "41901:59:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41901:59:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41980:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "41980:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41991:3:132",
                            "nodeType": "YulLiteral",
                            "src": "41991:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41976:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "41976:3:132"
                        },
                        "nativeSrc": "41976:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41976:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "42008:1:132",
                            "nodeType": "YulLiteral",
                            "src": "42008:1:132",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "value4",
                            "nativeSrc": "42011:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "42011:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "41997:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "41997:10:132"
                        },
                        "nativeSrc": "41997:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "41997:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41969:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "41969:6:132"
                    },
                    "nativeSrc": "41969:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "41969:50:132"
                  },
                  "nativeSrc": "41969:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "41969:50:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42039:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "42039:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42050:3:132",
                            "nodeType": "YulLiteral",
                            "src": "42050:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42035:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42035:3:132"
                        },
                        "nativeSrc": "42035:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42035:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "42060:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "42060:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42068:18:132",
                            "nodeType": "YulLiteral",
                            "src": "42068:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42056:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42056:3:132"
                        },
                        "nativeSrc": "42056:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42056:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42028:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "42028:6:132"
                    },
                    "nativeSrc": "42028:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42028:60:132"
                  },
                  "nativeSrc": "42028:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "42028:60:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42108:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "42108:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42119:3:132",
                            "nodeType": "YulLiteral",
                            "src": "42119:3:132",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42104:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42104:3:132"
                        },
                        "nativeSrc": "42104:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42104:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "42136:1:132",
                            "nodeType": "YulLiteral",
                            "src": "42136:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value6",
                            "nativeSrc": "42139:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "42139:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "42125:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "42125:10:132"
                        },
                        "nativeSrc": "42125:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42125:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42097:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "42097:6:132"
                    },
                    "nativeSrc": "42097:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42097:50:132"
                  },
                  "nativeSrc": "42097:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "42097:50:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_userDefinedValueType$_Timestamp_$34588_t_userDefinedValueType$_TransactionHash_$34590_t_uint64_t_int56_t_uint64_t_int8__to_t_bytes4_t_uint64_t_bytes32_t_uint64_t_int56_t_uint64_t_int8__fromStack_reversed",
            "nativeSrc": "41337:816:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41604:9:132",
                "nodeType": "YulTypedName",
                "src": "41604:9:132",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "41615:6:132",
                "nodeType": "YulTypedName",
                "src": "41615:6:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "41623:6:132",
                "nodeType": "YulTypedName",
                "src": "41623:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "41631:6:132",
                "nodeType": "YulTypedName",
                "src": "41631:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41639:6:132",
                "nodeType": "YulTypedName",
                "src": "41639:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41647:6:132",
                "nodeType": "YulTypedName",
                "src": "41647:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41655:6:132",
                "nodeType": "YulTypedName",
                "src": "41655:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41663:6:132",
                "nodeType": "YulTypedName",
                "src": "41663:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41674:4:132",
                "nodeType": "YulTypedName",
                "src": "41674:4:132",
                "type": ""
              }
            ],
            "src": "41337:816:132"
          },
          {
            "body": {
              "nativeSrc": "42332:175:132",
              "nodeType": "YulBlock",
              "src": "42332:175:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42349:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "42349:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42360:2:132",
                        "nodeType": "YulLiteral",
                        "src": "42360:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42342:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "42342:6:132"
                    },
                    "nativeSrc": "42342:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42342:21:132"
                  },
                  "nativeSrc": "42342:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "42342:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42383:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "42383:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42394:2:132",
                            "nodeType": "YulLiteral",
                            "src": "42394:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42379:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42379:3:132"
                        },
                        "nativeSrc": "42379:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42379:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42399:2:132",
                        "nodeType": "YulLiteral",
                        "src": "42399:2:132",
                        "type": "",
                        "value": "25"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42372:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "42372:6:132"
                    },
                    "nativeSrc": "42372:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42372:30:132"
                  },
                  "nativeSrc": "42372:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "42372:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42422:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "42422:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42433:2:132",
                            "nodeType": "YulLiteral",
                            "src": "42433:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42418:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42418:3:132"
                        },
                        "nativeSrc": "42418:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42418:18:132"
                      },
                      {
                        "hexValue": "436c6f6e61626c65323a206f6e6c79206f6e20636c6f6e6573",
                        "kind": "string",
                        "nativeSrc": "42438:27:132",
                        "nodeType": "YulLiteral",
                        "src": "42438:27:132",
                        "type": "",
                        "value": "Clonable2: only on clones"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42411:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "42411:6:132"
                    },
                    "nativeSrc": "42411:55:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42411:55:132"
                  },
                  "nativeSrc": "42411:55:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "42411:55:132"
                },
                {
                  "nativeSrc": "42475:26:132",
                  "nodeType": "YulAssignment",
                  "src": "42475:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42487:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "42487:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42498:2:132",
                        "nodeType": "YulLiteral",
                        "src": "42498:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "42483:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "42483:3:132"
                    },
                    "nativeSrc": "42483:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42483:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "42475:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "42475:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_cb0f4f0952b6e8163e47c54b60198339d077c9d234e096d830e0e50956f02ac7__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "42158:349:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42309:9:132",
                "nodeType": "YulTypedName",
                "src": "42309:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "42323:4:132",
                "nodeType": "YulTypedName",
                "src": "42323:4:132",
                "type": ""
              }
            ],
            "src": "42158:349:132"
          },
          {
            "body": {
              "nativeSrc": "42593:170:132",
              "nodeType": "YulBlock",
              "src": "42593:170:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "42639:16:132",
                    "nodeType": "YulBlock",
                    "src": "42639:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "42648:1:132",
                              "nodeType": "YulLiteral",
                              "src": "42648:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "42651:1:132",
                              "nodeType": "YulLiteral",
                              "src": "42651:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "42641:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "42641:6:132"
                          },
                          "nativeSrc": "42641:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "42641:12:132"
                        },
                        "nativeSrc": "42641:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "42641:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "42614:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "42614:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "42623:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "42623:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "42610:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42610:3:132"
                        },
                        "nativeSrc": "42610:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42610:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42635:2:132",
                        "nodeType": "YulLiteral",
                        "src": "42635:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "42606:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "42606:3:132"
                    },
                    "nativeSrc": "42606:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42606:32:132"
                  },
                  "nativeSrc": "42603:52:132",
                  "nodeType": "YulIf",
                  "src": "42603:52:132"
                },
                {
                  "nativeSrc": "42664:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42664:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42683:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "42683:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42677:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "42677:5:132"
                    },
                    "nativeSrc": "42677:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42677:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "42668:5:132",
                      "nodeType": "YulTypedName",
                      "src": "42668:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "42727:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "42727:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "42702:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "42702:24:132"
                    },
                    "nativeSrc": "42702:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42702:31:132"
                  },
                  "nativeSrc": "42702:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "42702:31:132"
                },
                {
                  "nativeSrc": "42742:15:132",
                  "nodeType": "YulAssignment",
                  "src": "42742:15:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "42752:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "42752:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "42742:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "42742:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_fromMemory",
            "nativeSrc": "42512:251:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42559:9:132",
                "nodeType": "YulTypedName",
                "src": "42559:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "42570:7:132",
                "nodeType": "YulTypedName",
                "src": "42570:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "42582:6:132",
                "nodeType": "YulTypedName",
                "src": "42582:6:132",
                "type": ""
              }
            ],
            "src": "42512:251:132"
          },
          {
            "body": {
              "nativeSrc": "42873:943:132",
              "nodeType": "YulBlock",
              "src": "42873:943:132",
              "statements": [
                {
                  "nativeSrc": "42883:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42883:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "42901:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "42901:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "42910:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "42910:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "42897:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "42897:3:132"
                        },
                        "nativeSrc": "42897:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "42897:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42922:3:132",
                        "nodeType": "YulLiteral",
                        "src": "42922:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "42893:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "42893:3:132"
                    },
                    "nativeSrc": "42893:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42893:33:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "42887:2:132",
                      "nodeType": "YulTypedName",
                      "src": "42887:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42941:16:132",
                    "nodeType": "YulBlock",
                    "src": "42941:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "42950:1:132",
                              "nodeType": "YulLiteral",
                              "src": "42950:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "42953:1:132",
                              "nodeType": "YulLiteral",
                              "src": "42953:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "42943:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "42943:6:132"
                          },
                          "nativeSrc": "42943:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "42943:12:132"
                        },
                        "nativeSrc": "42943:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "42943:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "42938:2:132",
                    "nodeType": "YulIdentifier",
                    "src": "42938:2:132"
                  },
                  "nativeSrc": "42935:22:132",
                  "nodeType": "YulIf",
                  "src": "42935:22:132"
                },
                {
                  "nativeSrc": "42966:7:132",
                  "nodeType": "YulAssignment",
                  "src": "42966:7:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42972:1:132",
                    "nodeType": "YulLiteral",
                    "src": "42972:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "42966:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "42966:2:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "42982:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42982:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "43002:2:132",
                        "nodeType": "YulLiteral",
                        "src": "43002:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42996:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "42996:5:132"
                    },
                    "nativeSrc": "42996:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "42996:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "42986:6:132",
                      "nodeType": "YulTypedName",
                      "src": "42986:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "43039:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "43039:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6391",
                      "nativeSrc": "43014:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "43014:24:132"
                    },
                    "nativeSrc": "43014:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43014:32:132"
                  },
                  "nativeSrc": "43014:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43014:32:132"
                },
                {
                  "nativeSrc": "43055:36:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43055:36:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43081:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "43081:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43068:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "43068:12:132"
                    },
                    "nativeSrc": "43068:23:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43068:23:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "43059:5:132",
                      "nodeType": "YulTypedName",
                      "src": "43059:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "43124:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "43124:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "43100:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "43100:23:132"
                    },
                    "nativeSrc": "43100:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43100:30:132"
                  },
                  "nativeSrc": "43100:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43100:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "43146:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "43146:6:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "43154:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "43154:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43139:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43139:6:132"
                    },
                    "nativeSrc": "43139:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43139:21:132"
                  },
                  "nativeSrc": "43139:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43139:21:132"
                },
                {
                  "nativeSrc": "43169:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43169:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43201:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "43201:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43212:2:132",
                            "nodeType": "YulLiteral",
                            "src": "43212:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43197:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43197:3:132"
                        },
                        "nativeSrc": "43197:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43197:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43184:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "43184:12:132"
                    },
                    "nativeSrc": "43184:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43184:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "43173:7:132",
                      "nodeType": "YulTypedName",
                      "src": "43173:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "43247:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43247:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bool",
                      "nativeSrc": "43225:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "43225:21:132"
                    },
                    "nativeSrc": "43225:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43225:30:132"
                  },
                  "nativeSrc": "43225:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43225:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43275:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "43275:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43283:2:132",
                            "nodeType": "YulLiteral",
                            "src": "43283:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43271:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43271:3:132"
                        },
                        "nativeSrc": "43271:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43271:15:132"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "43288:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43288:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43264:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43264:6:132"
                    },
                    "nativeSrc": "43264:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43264:32:132"
                  },
                  "nativeSrc": "43264:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43264:32:132"
                },
                {
                  "nativeSrc": "43305:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43305:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43337:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "43337:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43348:2:132",
                            "nodeType": "YulLiteral",
                            "src": "43348:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43333:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43333:3:132"
                        },
                        "nativeSrc": "43333:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43333:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43320:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "43320:12:132"
                    },
                    "nativeSrc": "43320:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43320:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "43309:7:132",
                      "nodeType": "YulTypedName",
                      "src": "43309:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "43385:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43385:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "43361:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "43361:23:132"
                    },
                    "nativeSrc": "43361:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43361:32:132"
                  },
                  "nativeSrc": "43361:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43361:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43413:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "43413:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43421:2:132",
                            "nodeType": "YulLiteral",
                            "src": "43421:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43409:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43409:3:132"
                        },
                        "nativeSrc": "43409:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43409:15:132"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "43426:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43426:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43402:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43402:6:132"
                    },
                    "nativeSrc": "43402:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43402:32:132"
                  },
                  "nativeSrc": "43402:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43402:32:132"
                },
                {
                  "nativeSrc": "43443:47:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43443:47:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43475:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "43475:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43486:2:132",
                            "nodeType": "YulLiteral",
                            "src": "43486:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43471:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43471:3:132"
                        },
                        "nativeSrc": "43471:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43471:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43458:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "43458:12:132"
                    },
                    "nativeSrc": "43458:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43458:32:132"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "43447:7:132",
                      "nodeType": "YulTypedName",
                      "src": "43447:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "43523:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43523:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "43499:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "43499:23:132"
                    },
                    "nativeSrc": "43499:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43499:32:132"
                  },
                  "nativeSrc": "43499:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43499:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43551:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "43551:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43559:2:132",
                            "nodeType": "YulLiteral",
                            "src": "43559:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43547:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43547:3:132"
                        },
                        "nativeSrc": "43547:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43547:15:132"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "43564:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43564:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43540:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43540:6:132"
                    },
                    "nativeSrc": "43540:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43540:32:132"
                  },
                  "nativeSrc": "43540:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43540:32:132"
                },
                {
                  "nativeSrc": "43581:48:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43581:48:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43613:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "43613:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43624:3:132",
                            "nodeType": "YulLiteral",
                            "src": "43624:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43609:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43609:3:132"
                        },
                        "nativeSrc": "43609:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43609:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43596:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "43596:12:132"
                    },
                    "nativeSrc": "43596:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43596:33:132"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "43585:7:132",
                      "nodeType": "YulTypedName",
                      "src": "43585:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_4",
                        "nativeSrc": "43662:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43662:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "43638:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "43638:23:132"
                    },
                    "nativeSrc": "43638:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43638:32:132"
                  },
                  "nativeSrc": "43638:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43638:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43690:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "43690:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43698:3:132",
                            "nodeType": "YulLiteral",
                            "src": "43698:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43686:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43686:3:132"
                        },
                        "nativeSrc": "43686:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43686:16:132"
                      },
                      {
                        "name": "value_4",
                        "nativeSrc": "43704:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "43704:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43679:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43679:6:132"
                    },
                    "nativeSrc": "43679:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43679:33:132"
                  },
                  "nativeSrc": "43679:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43679:33:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "43732:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "43732:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43740:3:132",
                            "nodeType": "YulLiteral",
                            "src": "43740:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43728:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "43728:3:132"
                        },
                        "nativeSrc": "43728:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43728:16:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "43768:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "43768:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43779:3:132",
                                "nodeType": "YulLiteral",
                                "src": "43779:3:132",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "43764:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "43764:3:132"
                            },
                            "nativeSrc": "43764:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "43764:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint16",
                          "nativeSrc": "43746:17:132",
                          "nodeType": "YulIdentifier",
                          "src": "43746:17:132"
                        },
                        "nativeSrc": "43746:38:132",
                        "nodeType": "YulFunctionCall",
                        "src": "43746:38:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43721:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43721:6:132"
                    },
                    "nativeSrc": "43721:64:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43721:64:132"
                  },
                  "nativeSrc": "43721:64:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43721:64:132"
                },
                {
                  "nativeSrc": "43794:16:132",
                  "nodeType": "YulAssignment",
                  "src": "43794:16:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "43804:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "43804:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "43794:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "43794:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_UpdateConditions_$25342_memory_ptr",
            "nativeSrc": "42768:1048:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42839:9:132",
                "nodeType": "YulTypedName",
                "src": "42839:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "42850:7:132",
                "nodeType": "YulTypedName",
                "src": "42850:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "42862:6:132",
                "nodeType": "YulTypedName",
                "src": "42862:6:132",
                "type": ""
              }
            ],
            "src": "42768:1048:132"
          },
          {
            "body": {
              "nativeSrc": "43881:114:132",
              "nodeType": "YulBlock",
              "src": "43881:114:132",
              "statements": [
                {
                  "nativeSrc": "43891:30:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43891:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "43917:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "43917:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43904:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "43904:12:132"
                    },
                    "nativeSrc": "43904:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43904:17:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "43895:5:132",
                      "nodeType": "YulTypedName",
                      "src": "43895:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "43954:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "43954:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "43930:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "43930:23:132"
                    },
                    "nativeSrc": "43930:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "43930:30:132"
                  },
                  "nativeSrc": "43930:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "43930:30:132"
                },
                {
                  "nativeSrc": "43969:20:132",
                  "nodeType": "YulAssignment",
                  "src": "43969:20:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "43984:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "43984:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "43969:11:132",
                      "nodeType": "YulIdentifier",
                      "src": "43969:11:132"
                    }
                  ]
                }
              ]
            },
            "name": "read_from_calldatat_uint24",
            "nativeSrc": "43821:174:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "43857:3:132",
                "nodeType": "YulTypedName",
                "src": "43857:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "returnValue",
                "nativeSrc": "43865:11:132",
                "nodeType": "YulTypedName",
                "src": "43865:11:132",
                "type": ""
              }
            ],
            "src": "43821:174:132"
          },
          {
            "body": {
              "nativeSrc": "44071:145:132",
              "nodeType": "YulBlock",
              "src": "44071:145:132",
              "statements": [
                {
                  "nativeSrc": "44081:21:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44081:21:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44097:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "44097:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "44091:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "44091:5:132"
                    },
                    "nativeSrc": "44091:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44091:11:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "44085:2:132",
                      "nodeType": "YulTypedName",
                      "src": "44085:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44118:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "44118:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "44131:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "44131:2:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44139:22:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44139:22:132",
                                    "type": "",
                                    "value": "0xffffff00000000000000"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "44135:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44135:3:132"
                                },
                                "nativeSrc": "44135:27:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44135:27:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44127:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "44127:3:132"
                            },
                            "nativeSrc": "44127:36:132",
                            "nodeType": "YulFunctionCall",
                            "src": "44127:36:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44173:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44173:2:132",
                                    "type": "",
                                    "value": "56"
                                  },
                                  {
                                    "name": "value",
                                    "nativeSrc": "44177:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "44177:5:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44169:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44169:3:132"
                                },
                                "nativeSrc": "44169:14:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44169:14:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44185:22:132",
                                "nodeType": "YulLiteral",
                                "src": "44185:22:132",
                                "type": "",
                                "value": "0xffffff00000000000000"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44165:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "44165:3:132"
                            },
                            "nativeSrc": "44165:43:132",
                            "nodeType": "YulFunctionCall",
                            "src": "44165:43:132"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "44124:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "44124:2:132"
                        },
                        "nativeSrc": "44124:85:132",
                        "nodeType": "YulFunctionCall",
                        "src": "44124:85:132"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "44111:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "44111:6:132"
                    },
                    "nativeSrc": "44111:99:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44111:99:132"
                  },
                  "nativeSrc": "44111:99:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "44111:99:132"
                }
              ]
            },
            "name": "update_storage_value_offset_uint24_to_uint24",
            "nativeSrc": "44000:216:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "44054:4:132",
                "nodeType": "YulTypedName",
                "src": "44054:4:132",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "44060:5:132",
                "nodeType": "YulTypedName",
                "src": "44060:5:132",
                "type": ""
              }
            ],
            "src": "44000:216:132"
          },
          {
            "body": {
              "nativeSrc": "44281:114:132",
              "nodeType": "YulBlock",
              "src": "44281:114:132",
              "statements": [
                {
                  "nativeSrc": "44291:30:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44291:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "44317:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "44317:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "44304:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "44304:12:132"
                    },
                    "nativeSrc": "44304:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44304:17:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "44295:5:132",
                      "nodeType": "YulTypedName",
                      "src": "44295:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "44354:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "44354:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "44330:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "44330:23:132"
                    },
                    "nativeSrc": "44330:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44330:30:132"
                  },
                  "nativeSrc": "44330:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "44330:30:132"
                },
                {
                  "nativeSrc": "44369:20:132",
                  "nodeType": "YulAssignment",
                  "src": "44369:20:132",
                  "value": {
                    "name": "value",
                    "nativeSrc": "44384:5:132",
                    "nodeType": "YulIdentifier",
                    "src": "44384:5:132"
                  },
                  "variableNames": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "44369:11:132",
                      "nodeType": "YulIdentifier",
                      "src": "44369:11:132"
                    }
                  ]
                }
              ]
            },
            "name": "read_from_calldatat_uint16",
            "nativeSrc": "44221:174:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "44257:3:132",
                "nodeType": "YulTypedName",
                "src": "44257:3:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "returnValue",
                "nativeSrc": "44265:11:132",
                "nodeType": "YulTypedName",
                "src": "44265:11:132",
                "type": ""
              }
            ],
            "src": "44221:174:132"
          },
          {
            "body": {
              "nativeSrc": "44471:129:132",
              "nodeType": "YulBlock",
              "src": "44471:129:132",
              "statements": [
                {
                  "nativeSrc": "44481:21:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44481:21:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44497:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "44497:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "44491:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "44491:5:132"
                    },
                    "nativeSrc": "44491:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44491:11:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "44485:2:132",
                      "nodeType": "YulTypedName",
                      "src": "44485:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44518:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "44518:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "44531:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "44531:2:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "44543:2:132",
                                        "nodeType": "YulLiteral",
                                        "src": "44543:2:132",
                                        "type": "",
                                        "value": "80"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "44547:5:132",
                                        "nodeType": "YulLiteral",
                                        "src": "44547:5:132",
                                        "type": "",
                                        "value": "65535"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "44539:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "44539:3:132"
                                    },
                                    "nativeSrc": "44539:14:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44539:14:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "44535:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44535:3:132"
                                },
                                "nativeSrc": "44535:19:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44535:19:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44527:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "44527:3:132"
                            },
                            "nativeSrc": "44527:28:132",
                            "nodeType": "YulFunctionCall",
                            "src": "44527:28:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44565:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44565:2:132",
                                    "type": "",
                                    "value": "80"
                                  },
                                  {
                                    "name": "value",
                                    "nativeSrc": "44569:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "44569:5:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44561:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44561:3:132"
                                },
                                "nativeSrc": "44561:14:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44561:14:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44581:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44581:2:132",
                                    "type": "",
                                    "value": "80"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44585:5:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44585:5:132",
                                    "type": "",
                                    "value": "65535"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44577:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44577:3:132"
                                },
                                "nativeSrc": "44577:14:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44577:14:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44557:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "44557:3:132"
                            },
                            "nativeSrc": "44557:35:132",
                            "nodeType": "YulFunctionCall",
                            "src": "44557:35:132"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "44524:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "44524:2:132"
                        },
                        "nativeSrc": "44524:69:132",
                        "nodeType": "YulFunctionCall",
                        "src": "44524:69:132"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "44511:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "44511:6:132"
                    },
                    "nativeSrc": "44511:83:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44511:83:132"
                  },
                  "nativeSrc": "44511:83:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "44511:83:132"
                }
              ]
            },
            "name": "update_storage_value_offset_uint16_to_uint16",
            "nativeSrc": "44400:200:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "44454:4:132",
                "nodeType": "YulTypedName",
                "src": "44454:4:132",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "44460:5:132",
                "nodeType": "YulTypedName",
                "src": "44460:5:132",
                "type": ""
              }
            ],
            "src": "44400:200:132"
          },
          {
            "body": {
              "nativeSrc": "44680:129:132",
              "nodeType": "YulBlock",
              "src": "44680:129:132",
              "statements": [
                {
                  "nativeSrc": "44690:21:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44690:21:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44706:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "44706:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "44700:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "44700:5:132"
                    },
                    "nativeSrc": "44700:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44700:11:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "44694:2:132",
                      "nodeType": "YulTypedName",
                      "src": "44694:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44727:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "44727:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "44740:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "44740:2:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "44752:2:132",
                                        "nodeType": "YulLiteral",
                                        "src": "44752:2:132",
                                        "type": "",
                                        "value": "96"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "44756:5:132",
                                        "nodeType": "YulLiteral",
                                        "src": "44756:5:132",
                                        "type": "",
                                        "value": "65535"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "44748:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "44748:3:132"
                                    },
                                    "nativeSrc": "44748:14:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44748:14:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "44744:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44744:3:132"
                                },
                                "nativeSrc": "44744:19:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44744:19:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44736:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "44736:3:132"
                            },
                            "nativeSrc": "44736:28:132",
                            "nodeType": "YulFunctionCall",
                            "src": "44736:28:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44774:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44774:2:132",
                                    "type": "",
                                    "value": "96"
                                  },
                                  {
                                    "name": "value",
                                    "nativeSrc": "44778:5:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "44778:5:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44770:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44770:3:132"
                                },
                                "nativeSrc": "44770:14:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44770:14:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44790:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44790:2:132",
                                    "type": "",
                                    "value": "96"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44794:5:132",
                                    "nodeType": "YulLiteral",
                                    "src": "44794:5:132",
                                    "type": "",
                                    "value": "65535"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44786:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "44786:3:132"
                                },
                                "nativeSrc": "44786:14:132",
                                "nodeType": "YulFunctionCall",
                                "src": "44786:14:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44766:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "44766:3:132"
                            },
                            "nativeSrc": "44766:35:132",
                            "nodeType": "YulFunctionCall",
                            "src": "44766:35:132"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "44733:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "44733:2:132"
                        },
                        "nativeSrc": "44733:69:132",
                        "nodeType": "YulFunctionCall",
                        "src": "44733:69:132"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "44720:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "44720:6:132"
                    },
                    "nativeSrc": "44720:83:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44720:83:132"
                  },
                  "nativeSrc": "44720:83:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "44720:83:132"
                }
              ]
            },
            "name": "update_storage_value_offset_t_uint16_to_t_uint16",
            "nativeSrc": "44605:204:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "44663:4:132",
                "nodeType": "YulTypedName",
                "src": "44663:4:132",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "44669:5:132",
                "nodeType": "YulTypedName",
                "src": "44669:5:132",
                "type": ""
              }
            ],
            "src": "44605:204:132"
          },
          {
            "body": {
              "nativeSrc": "44962:1012:132",
              "nodeType": "YulBlock",
              "src": "44962:1012:132",
              "statements": [
                {
                  "nativeSrc": "44972:34:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44972:34:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "45000:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "45000:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "44987:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "44987:12:132"
                    },
                    "nativeSrc": "44987:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "44987:19:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "44976:7:132",
                      "nodeType": "YulTypedName",
                      "src": "44976:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "45039:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "45039:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "45015:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "45015:23:132"
                    },
                    "nativeSrc": "45015:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45015:32:132"
                  },
                  "nativeSrc": "45015:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45015:32:132"
                },
                {
                  "nativeSrc": "45056:32:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45056:32:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "45070:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "45070:7:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45079:8:132",
                        "nodeType": "YulLiteral",
                        "src": "45079:8:132",
                        "type": "",
                        "value": "0xffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "45066:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "45066:3:132"
                    },
                    "nativeSrc": "45066:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45066:22:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "45060:2:132",
                      "nodeType": "YulTypedName",
                      "src": "45060:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "45097:21:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45097:21:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45113:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45113:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "45107:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "45107:5:132"
                    },
                    "nativeSrc": "45107:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45107:11:132"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "45101:2:132",
                      "nodeType": "YulTypedName",
                      "src": "45101:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45134:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45134:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "45147:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "45147:2:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "45155:8:132",
                                    "nodeType": "YulLiteral",
                                    "src": "45155:8:132",
                                    "type": "",
                                    "value": "16777215"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "45151:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "45151:3:132"
                                },
                                "nativeSrc": "45151:13:132",
                                "nodeType": "YulFunctionCall",
                                "src": "45151:13:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "45143:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45143:3:132"
                            },
                            "nativeSrc": "45143:22:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45143:22:132"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "45167:2:132",
                            "nodeType": "YulIdentifier",
                            "src": "45167:2:132"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "45140:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "45140:2:132"
                        },
                        "nativeSrc": "45140:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45140:30:132"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "45127:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "45127:6:132"
                    },
                    "nativeSrc": "45127:44:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45127:44:132"
                  },
                  "nativeSrc": "45127:44:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45127:44:132"
                },
                {
                  "nativeSrc": "45180:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45180:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "45212:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "45212:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45219:2:132",
                            "nodeType": "YulLiteral",
                            "src": "45219:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45208:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "45208:3:132"
                        },
                        "nativeSrc": "45208:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45208:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "45195:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "45195:12:132"
                    },
                    "nativeSrc": "45195:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45195:28:132"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "45184:7:132",
                      "nodeType": "YulTypedName",
                      "src": "45184:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "45254:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "45254:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bool",
                      "nativeSrc": "45232:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "45232:21:132"
                    },
                    "nativeSrc": "45232:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45232:30:132"
                  },
                  "nativeSrc": "45232:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45232:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45278:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45278:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "45294:2:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "45294:2:132"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "45302:10:132",
                                        "nodeType": "YulLiteral",
                                        "src": "45302:10:132",
                                        "type": "",
                                        "value": "0xffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "45298:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "45298:3:132"
                                    },
                                    "nativeSrc": "45298:15:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "45298:15:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "45290:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "45290:3:132"
                                },
                                "nativeSrc": "45290:24:132",
                                "nodeType": "YulFunctionCall",
                                "src": "45290:24:132"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "45316:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "45316:2:132"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "45287:2:132",
                              "nodeType": "YulIdentifier",
                              "src": "45287:2:132"
                            },
                            "nativeSrc": "45287:32:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45287:32:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "45329:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "45329:2:132",
                                    "type": "",
                                    "value": "24"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "value_2",
                                            "nativeSrc": "45347:7:132",
                                            "nodeType": "YulIdentifier",
                                            "src": "45347:7:132"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "iszero",
                                          "nativeSrc": "45340:6:132",
                                          "nodeType": "YulIdentifier",
                                          "src": "45340:6:132"
                                        },
                                        "nativeSrc": "45340:15:132",
                                        "nodeType": "YulFunctionCall",
                                        "src": "45340:15:132"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "iszero",
                                      "nativeSrc": "45333:6:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "45333:6:132"
                                    },
                                    "nativeSrc": "45333:23:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "45333:23:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "45325:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "45325:3:132"
                                },
                                "nativeSrc": "45325:32:132",
                                "nodeType": "YulFunctionCall",
                                "src": "45325:32:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45359:10:132",
                                "nodeType": "YulLiteral",
                                "src": "45359:10:132",
                                "type": "",
                                "value": "0xff000000"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "45321:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45321:3:132"
                            },
                            "nativeSrc": "45321:49:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45321:49:132"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "45284:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "45284:2:132"
                        },
                        "nativeSrc": "45284:87:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45284:87:132"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "45271:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "45271:6:132"
                    },
                    "nativeSrc": "45271:101:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45271:101:132"
                  },
                  "nativeSrc": "45271:101:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45271:101:132"
                },
                {
                  "nativeSrc": "45381:20:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45381:20:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "45400:1:132",
                    "nodeType": "YulLiteral",
                    "src": "45400:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "45385:11:132",
                      "nodeType": "YulTypedName",
                      "src": "45385:11:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "45410:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45410:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "45442:5:132",
                            "nodeType": "YulIdentifier",
                            "src": "45442:5:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45449:2:132",
                            "nodeType": "YulLiteral",
                            "src": "45449:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45438:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "45438:3:132"
                        },
                        "nativeSrc": "45438:14:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45438:14:132"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "45425:12:132",
                      "nodeType": "YulIdentifier",
                      "src": "45425:12:132"
                    },
                    "nativeSrc": "45425:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45425:28:132"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "45414:7:132",
                      "nodeType": "YulTypedName",
                      "src": "45414:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "45486:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "45486:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "45462:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "45462:23:132"
                    },
                    "nativeSrc": "45462:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45462:32:132"
                  },
                  "nativeSrc": "45462:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45462:32:132"
                },
                {
                  "nativeSrc": "45503:22:132",
                  "nodeType": "YulAssignment",
                  "src": "45503:22:132",
                  "value": {
                    "name": "value_3",
                    "nativeSrc": "45518:7:132",
                    "nodeType": "YulIdentifier",
                    "src": "45518:7:132"
                  },
                  "variableNames": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "45503:11:132",
                      "nodeType": "YulIdentifier",
                      "src": "45503:11:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "45534:21:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45534:21:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45550:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45550:4:132"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "45544:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "45544:5:132"
                    },
                    "nativeSrc": "45544:11:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45544:11:132"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "45538:2:132",
                      "nodeType": "YulTypedName",
                      "src": "45538:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45571:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45571:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_3",
                                "nativeSrc": "45584:2:132",
                                "nodeType": "YulIdentifier",
                                "src": "45584:2:132"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "45592:16:132",
                                    "nodeType": "YulLiteral",
                                    "src": "45592:16:132",
                                    "type": "",
                                    "value": "0xffffff00000000"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "45588:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "45588:3:132"
                                },
                                "nativeSrc": "45588:21:132",
                                "nodeType": "YulFunctionCall",
                                "src": "45588:21:132"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "45580:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45580:3:132"
                            },
                            "nativeSrc": "45580:30:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45580:30:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "45620:2:132",
                                    "nodeType": "YulLiteral",
                                    "src": "45620:2:132",
                                    "type": "",
                                    "value": "32"
                                  },
                                  {
                                    "name": "value_3",
                                    "nativeSrc": "45624:7:132",
                                    "nodeType": "YulIdentifier",
                                    "src": "45624:7:132"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "45616:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "45616:3:132"
                                },
                                "nativeSrc": "45616:16:132",
                                "nodeType": "YulFunctionCall",
                                "src": "45616:16:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45634:16:132",
                                "nodeType": "YulLiteral",
                                "src": "45634:16:132",
                                "type": "",
                                "value": "0xffffff00000000"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "45612:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45612:3:132"
                            },
                            "nativeSrc": "45612:39:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45612:39:132"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "45577:2:132",
                          "nodeType": "YulIdentifier",
                          "src": "45577:2:132"
                        },
                        "nativeSrc": "45577:75:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45577:75:132"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "45564:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "45564:6:132"
                    },
                    "nativeSrc": "45564:89:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45564:89:132"
                  },
                  "nativeSrc": "45564:89:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45564:89:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45707:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45707:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "45744:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "45744:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45751:2:132",
                                "nodeType": "YulLiteral",
                                "src": "45751:2:132",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "45740:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45740:3:132"
                            },
                            "nativeSrc": "45740:14:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45740:14:132"
                          }
                        ],
                        "functionName": {
                          "name": "read_from_calldatat_uint24",
                          "nativeSrc": "45713:26:132",
                          "nodeType": "YulIdentifier",
                          "src": "45713:26:132"
                        },
                        "nativeSrc": "45713:42:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45713:42:132"
                      }
                    ],
                    "functionName": {
                      "name": "update_storage_value_offset_uint24_to_uint24",
                      "nativeSrc": "45662:44:132",
                      "nodeType": "YulIdentifier",
                      "src": "45662:44:132"
                    },
                    "nativeSrc": "45662:94:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45662:94:132"
                  },
                  "nativeSrc": "45662:94:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45662:94:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45810:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45810:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "45847:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "45847:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45854:3:132",
                                "nodeType": "YulLiteral",
                                "src": "45854:3:132",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "45843:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45843:3:132"
                            },
                            "nativeSrc": "45843:15:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45843:15:132"
                          }
                        ],
                        "functionName": {
                          "name": "read_from_calldatat_uint16",
                          "nativeSrc": "45816:26:132",
                          "nodeType": "YulIdentifier",
                          "src": "45816:26:132"
                        },
                        "nativeSrc": "45816:43:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45816:43:132"
                      }
                    ],
                    "functionName": {
                      "name": "update_storage_value_offset_uint16_to_uint16",
                      "nativeSrc": "45765:44:132",
                      "nodeType": "YulIdentifier",
                      "src": "45765:44:132"
                    },
                    "nativeSrc": "45765:95:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45765:95:132"
                  },
                  "nativeSrc": "45765:95:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45765:95:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45918:4:132",
                        "nodeType": "YulIdentifier",
                        "src": "45918:4:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "45955:5:132",
                                "nodeType": "YulIdentifier",
                                "src": "45955:5:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45962:3:132",
                                "nodeType": "YulLiteral",
                                "src": "45962:3:132",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "45951:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "45951:3:132"
                            },
                            "nativeSrc": "45951:15:132",
                            "nodeType": "YulFunctionCall",
                            "src": "45951:15:132"
                          }
                        ],
                        "functionName": {
                          "name": "read_from_calldatat_uint16",
                          "nativeSrc": "45924:26:132",
                          "nodeType": "YulIdentifier",
                          "src": "45924:26:132"
                        },
                        "nativeSrc": "45924:43:132",
                        "nodeType": "YulFunctionCall",
                        "src": "45924:43:132"
                      }
                    ],
                    "functionName": {
                      "name": "update_storage_value_offset_t_uint16_to_t_uint16",
                      "nativeSrc": "45869:48:132",
                      "nodeType": "YulIdentifier",
                      "src": "45869:48:132"
                    },
                    "nativeSrc": "45869:99:132",
                    "nodeType": "YulFunctionCall",
                    "src": "45869:99:132"
                  },
                  "nativeSrc": "45869:99:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "45869:99:132"
                }
              ]
            },
            "name": "update_storage_value_offset_0_t_struct$_UpdateConditions_$25342_calldata_ptr_to_t_struct$_UpdateConditions_$25342_storage",
            "nativeSrc": "44814:1160:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "44945:4:132",
                "nodeType": "YulTypedName",
                "src": "44945:4:132",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "44951:5:132",
                "nodeType": "YulTypedName",
                "src": "44951:5:132",
                "type": ""
              }
            ],
            "src": "44814:1160:132"
          },
          {
            "body": {
              "nativeSrc": "46260:288:132",
              "nodeType": "YulBlock",
              "src": "46260:288:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46277:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "46277:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46288:3:132",
                        "nodeType": "YulLiteral",
                        "src": "46288:3:132",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46270:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46270:6:132"
                    },
                    "nativeSrc": "46270:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46270:22:132"
                  },
                  "nativeSrc": "46270:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46270:22:132"
                },
                {
                  "nativeSrc": "46301:71:132",
                  "nodeType": "YulAssignment",
                  "src": "46301:71:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "46336:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "46336:6:132"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "46344:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "46344:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46356:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "46356:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46367:3:132",
                            "nodeType": "YulLiteral",
                            "src": "46367:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46352:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46352:3:132"
                        },
                        "nativeSrc": "46352:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46352:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "46309:26:132",
                      "nodeType": "YulIdentifier",
                      "src": "46309:26:132"
                    },
                    "nativeSrc": "46309:63:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46309:63:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "46301:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "46301:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46392:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "46392:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46403:2:132",
                            "nodeType": "YulLiteral",
                            "src": "46403:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46388:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46388:3:132"
                        },
                        "nativeSrc": "46388:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46388:18:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "46408:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "46408:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46381:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46381:6:132"
                    },
                    "nativeSrc": "46381:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46381:34:132"
                  },
                  "nativeSrc": "46381:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46381:34:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46435:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "46435:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46446:2:132",
                            "nodeType": "YulLiteral",
                            "src": "46446:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46431:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46431:3:132"
                        },
                        "nativeSrc": "46431:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46431:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "46462:1:132",
                            "nodeType": "YulLiteral",
                            "src": "46462:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "46465:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "46465:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "46451:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "46451:10:132"
                        },
                        "nativeSrc": "46451:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46451:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46424:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46424:6:132"
                    },
                    "nativeSrc": "46424:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46424:49:132"
                  },
                  "nativeSrc": "46424:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46424:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46493:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "46493:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46504:2:132",
                            "nodeType": "YulLiteral",
                            "src": "46504:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46489:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46489:3:132"
                        },
                        "nativeSrc": "46489:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46489:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "46513:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "46513:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46529:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "46529:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46534:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "46534:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "46525:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "46525:3:132"
                                },
                                "nativeSrc": "46525:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "46525:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "46538:1:132",
                                "nodeType": "YulLiteral",
                                "src": "46538:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "46521:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "46521:3:132"
                            },
                            "nativeSrc": "46521:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "46521:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46509:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46509:3:132"
                        },
                        "nativeSrc": "46509:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46509:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46482:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46482:6:132"
                    },
                    "nativeSrc": "46482:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46482:60:132"
                  },
                  "nativeSrc": "46482:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46482:60:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_userDefinedValueType$_RadonHash_$34584_t_int8_t_contract$_IWitOracleRadonRegistry_$24951__to_t_string_memory_ptr_t_bytes32_t_int8_t_address__fromStack_library_reversed",
            "nativeSrc": "45979:569:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46197:9:132",
                "nodeType": "YulTypedName",
                "src": "46197:9:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "46208:6:132",
                "nodeType": "YulTypedName",
                "src": "46208:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "46216:6:132",
                "nodeType": "YulTypedName",
                "src": "46216:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "46224:6:132",
                "nodeType": "YulTypedName",
                "src": "46224:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "46232:6:132",
                "nodeType": "YulTypedName",
                "src": "46232:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "46240:6:132",
                "nodeType": "YulTypedName",
                "src": "46240:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "46251:4:132",
                "nodeType": "YulTypedName",
                "src": "46251:4:132",
                "type": ""
              }
            ],
            "src": "45979:569:132"
          },
          {
            "body": {
              "nativeSrc": "46777:656:132",
              "nodeType": "YulBlock",
              "src": "46777:656:132",
              "statements": [
                {
                  "nativeSrc": "46787:27:132",
                  "nodeType": "YulAssignment",
                  "src": "46787:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46799:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "46799:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46810:3:132",
                        "nodeType": "YulLiteral",
                        "src": "46810:3:132",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "46795:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "46795:3:132"
                    },
                    "nativeSrc": "46795:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46795:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "46787:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "46787:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46830:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "46830:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "46845:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "46845:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46861:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "46861:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46866:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "46866:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "46857:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "46857:3:132"
                                },
                                "nativeSrc": "46857:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "46857:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "46870:1:132",
                                "nodeType": "YulLiteral",
                                "src": "46870:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "46853:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "46853:3:132"
                            },
                            "nativeSrc": "46853:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "46853:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46841:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46841:3:132"
                        },
                        "nativeSrc": "46841:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46841:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46823:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46823:6:132"
                    },
                    "nativeSrc": "46823:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46823:51:132"
                  },
                  "nativeSrc": "46823:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46823:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46894:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "46894:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46905:2:132",
                            "nodeType": "YulLiteral",
                            "src": "46905:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46890:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46890:3:132"
                        },
                        "nativeSrc": "46890:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46890:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "46914:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "46914:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46930:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "46930:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "46935:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "46935:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "46926:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "46926:3:132"
                                },
                                "nativeSrc": "46926:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "46926:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "46939:1:132",
                                "nodeType": "YulLiteral",
                                "src": "46939:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "46922:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "46922:3:132"
                            },
                            "nativeSrc": "46922:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "46922:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46910:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46910:3:132"
                        },
                        "nativeSrc": "46910:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46910:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46883:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46883:6:132"
                    },
                    "nativeSrc": "46883:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46883:60:132"
                  },
                  "nativeSrc": "46883:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46883:60:132"
                },
                {
                  "nativeSrc": "46952:30:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46952:30:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "46975:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "46975:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "46969:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "46969:5:132"
                    },
                    "nativeSrc": "46969:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46969:13:132"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "46956:9:132",
                      "nodeType": "YulTypedName",
                      "src": "46956:9:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47002:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47002:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47013:2:132",
                            "nodeType": "YulLiteral",
                            "src": "47013:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46998:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "46998:3:132"
                        },
                        "nativeSrc": "46998:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "46998:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "slotValue",
                            "nativeSrc": "47022:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47022:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47033:8:132",
                            "nodeType": "YulLiteral",
                            "src": "47033:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47018:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47018:3:132"
                        },
                        "nativeSrc": "47018:24:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47018:24:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46991:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "46991:6:132"
                    },
                    "nativeSrc": "46991:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "46991:52:132"
                  },
                  "nativeSrc": "46991:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "46991:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47063:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47063:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47074:2:132",
                            "nodeType": "YulLiteral",
                            "src": "47074:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47059:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47059:3:132"
                        },
                        "nativeSrc": "47059:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47059:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "47101:2:132",
                                        "nodeType": "YulLiteral",
                                        "src": "47101:2:132",
                                        "type": "",
                                        "value": "24"
                                      },
                                      {
                                        "name": "slotValue",
                                        "nativeSrc": "47105:9:132",
                                        "nodeType": "YulIdentifier",
                                        "src": "47105:9:132"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shr",
                                      "nativeSrc": "47097:3:132",
                                      "nodeType": "YulIdentifier",
                                      "src": "47097:3:132"
                                    },
                                    "nativeSrc": "47097:18:132",
                                    "nodeType": "YulFunctionCall",
                                    "src": "47097:18:132"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "47117:4:132",
                                    "nodeType": "YulLiteral",
                                    "src": "47117:4:132",
                                    "type": "",
                                    "value": "0xff"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "47093:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "47093:3:132"
                                },
                                "nativeSrc": "47093:29:132",
                                "nodeType": "YulFunctionCall",
                                "src": "47093:29:132"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "47086:6:132",
                              "nodeType": "YulIdentifier",
                              "src": "47086:6:132"
                            },
                            "nativeSrc": "47086:37:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47086:37:132"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "47079:6:132",
                          "nodeType": "YulIdentifier",
                          "src": "47079:6:132"
                        },
                        "nativeSrc": "47079:45:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47079:45:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47052:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "47052:6:132"
                    },
                    "nativeSrc": "47052:73:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47052:73:132"
                  },
                  "nativeSrc": "47052:73:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47052:73:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47145:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47145:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47156:3:132",
                            "nodeType": "YulLiteral",
                            "src": "47156:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47141:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47141:3:132"
                        },
                        "nativeSrc": "47141:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47141:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47170:2:132",
                                "nodeType": "YulLiteral",
                                "src": "47170:2:132",
                                "type": "",
                                "value": "32"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "47174:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "47174:9:132"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "47166:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47166:3:132"
                            },
                            "nativeSrc": "47166:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47166:18:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47186:8:132",
                            "nodeType": "YulLiteral",
                            "src": "47186:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47162:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47162:3:132"
                        },
                        "nativeSrc": "47162:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47162:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47134:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "47134:6:132"
                    },
                    "nativeSrc": "47134:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47134:62:132"
                  },
                  "nativeSrc": "47134:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47134:62:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47216:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47216:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47227:3:132",
                            "nodeType": "YulLiteral",
                            "src": "47227:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47212:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47212:3:132"
                        },
                        "nativeSrc": "47212:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47212:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47241:2:132",
                                "nodeType": "YulLiteral",
                                "src": "47241:2:132",
                                "type": "",
                                "value": "56"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "47245:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "47245:9:132"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "47237:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47237:3:132"
                            },
                            "nativeSrc": "47237:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47237:18:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47257:8:132",
                            "nodeType": "YulLiteral",
                            "src": "47257:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47233:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47233:3:132"
                        },
                        "nativeSrc": "47233:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47233:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47205:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "47205:6:132"
                    },
                    "nativeSrc": "47205:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47205:62:132"
                  },
                  "nativeSrc": "47205:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47205:62:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47302:2:132",
                                "nodeType": "YulLiteral",
                                "src": "47302:2:132",
                                "type": "",
                                "value": "80"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "47306:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "47306:9:132"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "47298:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47298:3:132"
                            },
                            "nativeSrc": "47298:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47298:18:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47318:6:132",
                            "nodeType": "YulLiteral",
                            "src": "47318:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47294:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47294:3:132"
                        },
                        "nativeSrc": "47294:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47294:31:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47331:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47331:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47342:3:132",
                            "nodeType": "YulLiteral",
                            "src": "47342:3:132",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47327:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47327:3:132"
                        },
                        "nativeSrc": "47327:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47327:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_uint16",
                      "nativeSrc": "47276:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "47276:17:132"
                    },
                    "nativeSrc": "47276:71:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47276:71:132"
                  },
                  "nativeSrc": "47276:71:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47276:71:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47382:2:132",
                                "nodeType": "YulLiteral",
                                "src": "47382:2:132",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "47386:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "47386:9:132"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "47378:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47378:3:132"
                            },
                            "nativeSrc": "47378:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47378:18:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47398:6:132",
                            "nodeType": "YulLiteral",
                            "src": "47398:6:132",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47374:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47374:3:132"
                        },
                        "nativeSrc": "47374:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47374:31:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47411:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "47411:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47422:3:132",
                            "nodeType": "YulLiteral",
                            "src": "47422:3:132",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47407:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47407:3:132"
                        },
                        "nativeSrc": "47407:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47407:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_uint16",
                      "nativeSrc": "47356:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "47356:17:132"
                    },
                    "nativeSrc": "47356:71:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47356:71:132"
                  },
                  "nativeSrc": "47356:71:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47356:71:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_address_t_struct$_UpdateConditions_$25342_storage__to_t_address_t_address_t_struct$_UpdateConditions_$25342_memory_ptr__fromStack_reversed",
            "nativeSrc": "46553:880:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46730:9:132",
                "nodeType": "YulTypedName",
                "src": "46730:9:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "46741:6:132",
                "nodeType": "YulTypedName",
                "src": "46741:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "46749:6:132",
                "nodeType": "YulTypedName",
                "src": "46749:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "46757:6:132",
                "nodeType": "YulTypedName",
                "src": "46757:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "46768:4:132",
                "nodeType": "YulTypedName",
                "src": "46768:4:132",
                "type": ""
              }
            ],
            "src": "46553:880:132"
          },
          {
            "body": {
              "nativeSrc": "47609:174:132",
              "nodeType": "YulBlock",
              "src": "47609:174:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "47626:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "47626:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47639:2:132",
                                "nodeType": "YulLiteral",
                                "src": "47639:2:132",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "47643:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "47643:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "47635:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47635:3:132"
                            },
                            "nativeSrc": "47635:15:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47635:15:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47656:26:132",
                                "nodeType": "YulLiteral",
                                "src": "47656:26:132",
                                "type": "",
                                "value": "0xffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "47652:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47652:3:132"
                            },
                            "nativeSrc": "47652:31:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47652:31:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47631:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47631:3:132"
                        },
                        "nativeSrc": "47631:53:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47631:53:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47619:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "47619:6:132"
                    },
                    "nativeSrc": "47619:66:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47619:66:132"
                  },
                  "nativeSrc": "47619:66:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47619:66:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "47705:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "47705:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47710:2:132",
                            "nodeType": "YulLiteral",
                            "src": "47710:2:132",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47701:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47701:3:132"
                        },
                        "nativeSrc": "47701:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47701:12:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "47719:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "47719:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "47731:3:132",
                                "nodeType": "YulLiteral",
                                "src": "47731:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "47736:10:132",
                                "nodeType": "YulLiteral",
                                "src": "47736:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "47727:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "47727:3:132"
                            },
                            "nativeSrc": "47727:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "47727:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47715:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "47715:3:132"
                        },
                        "nativeSrc": "47715:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "47715:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47694:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "47694:6:132"
                    },
                    "nativeSrc": "47694:55:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47694:55:132"
                  },
                  "nativeSrc": "47694:55:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "47694:55:132"
                },
                {
                  "nativeSrc": "47758:19:132",
                  "nodeType": "YulAssignment",
                  "src": "47758:19:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "47769:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "47769:3:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47774:2:132",
                        "nodeType": "YulLiteral",
                        "src": "47774:2:132",
                        "type": "",
                        "value": "24"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47765:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "47765:3:132"
                    },
                    "nativeSrc": "47765:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "47765:12:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "47758:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "47758:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_address_t_userDefinedValueType$_ID4_$25253__to_t_address_t_bytes4__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "47438:345:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "47577:3:132",
                "nodeType": "YulTypedName",
                "src": "47577:3:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "47582:6:132",
                "nodeType": "YulTypedName",
                "src": "47582:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "47590:6:132",
                "nodeType": "YulTypedName",
                "src": "47590:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "47601:3:132",
                "nodeType": "YulTypedName",
                "src": "47601:3:132",
                "type": ""
              }
            ],
            "src": "47438:345:132"
          },
          {
            "body": {
              "nativeSrc": "48004:204:132",
              "nodeType": "YulBlock",
              "src": "48004:204:132",
              "statements": [
                {
                  "nativeSrc": "48014:26:132",
                  "nodeType": "YulAssignment",
                  "src": "48014:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48026:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "48026:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48037:2:132",
                        "nodeType": "YulLiteral",
                        "src": "48037:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "48022:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "48022:3:132"
                    },
                    "nativeSrc": "48022:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48022:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "48014:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "48014:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48056:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "48056:9:132"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "48067:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "48067:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48049:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48049:6:132"
                    },
                    "nativeSrc": "48049:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48049:25:132"
                  },
                  "nativeSrc": "48049:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48049:25:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48094:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "48094:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48105:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48105:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48090:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48090:3:132"
                        },
                        "nativeSrc": "48090:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48090:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "48114:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "48114:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "48126:3:132",
                                "nodeType": "YulLiteral",
                                "src": "48126:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "48131:10:132",
                                "nodeType": "YulLiteral",
                                "src": "48131:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "48122:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "48122:3:132"
                            },
                            "nativeSrc": "48122:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "48122:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "48110:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48110:3:132"
                        },
                        "nativeSrc": "48110:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48110:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48083:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48083:6:132"
                    },
                    "nativeSrc": "48083:61:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48083:61:132"
                  },
                  "nativeSrc": "48083:61:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48083:61:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48164:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "48164:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48175:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48175:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48160:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48160:3:132"
                        },
                        "nativeSrc": "48160:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48160:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "48184:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "48184:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48192:8:132",
                            "nodeType": "YulLiteral",
                            "src": "48192:8:132",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "48180:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48180:3:132"
                        },
                        "nativeSrc": "48180:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48180:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48153:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48153:6:132"
                    },
                    "nativeSrc": "48153:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48153:49:132"
                  },
                  "nativeSrc": "48153:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48153:49:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_PriceFeed_$20082_storage_ptr_t_userDefinedValueType$_ID4_$25253_t_uint24__to_t_uint256_t_bytes4_t_uint24__fromStack_library_reversed",
            "nativeSrc": "47788:420:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47957:9:132",
                "nodeType": "YulTypedName",
                "src": "47957:9:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "47968:6:132",
                "nodeType": "YulTypedName",
                "src": "47968:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "47976:6:132",
                "nodeType": "YulTypedName",
                "src": "47976:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "47984:6:132",
                "nodeType": "YulTypedName",
                "src": "47984:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "47995:4:132",
                "nodeType": "YulTypedName",
                "src": "47995:4:132",
                "type": ""
              }
            ],
            "src": "47788:420:132"
          },
          {
            "body": {
              "nativeSrc": "48322:898:132",
              "nodeType": "YulBlock",
              "src": "48322:898:132",
              "statements": [
                {
                  "nativeSrc": "48332:43:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48332:43:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "48350:7:132",
                            "nodeType": "YulIdentifier",
                            "src": "48350:7:132"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "48359:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "48359:9:132"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "48346:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48346:3:132"
                        },
                        "nativeSrc": "48346:23:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48346:23:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48371:3:132",
                        "nodeType": "YulLiteral",
                        "src": "48371:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "48342:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "48342:3:132"
                    },
                    "nativeSrc": "48342:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48342:33:132"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "48336:2:132",
                      "nodeType": "YulTypedName",
                      "src": "48336:2:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "48390:16:132",
                    "nodeType": "YulBlock",
                    "src": "48390:16:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "48399:1:132",
                              "nodeType": "YulLiteral",
                              "src": "48399:1:132",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "48402:1:132",
                              "nodeType": "YulLiteral",
                              "src": "48402:1:132",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "48392:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "48392:6:132"
                          },
                          "nativeSrc": "48392:12:132",
                          "nodeType": "YulFunctionCall",
                          "src": "48392:12:132"
                        },
                        "nativeSrc": "48392:12:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "48392:12:132"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "48387:2:132",
                    "nodeType": "YulIdentifier",
                    "src": "48387:2:132"
                  },
                  "nativeSrc": "48384:22:132",
                  "nodeType": "YulIf",
                  "src": "48384:22:132"
                },
                {
                  "nativeSrc": "48415:7:132",
                  "nodeType": "YulAssignment",
                  "src": "48415:7:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "48421:1:132",
                    "nodeType": "YulLiteral",
                    "src": "48421:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "48415:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "48415:2:132"
                    }
                  ]
                },
                {
                  "nativeSrc": "48431:23:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48431:23:132",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "48451:2:132",
                        "nodeType": "YulLiteral",
                        "src": "48451:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48445:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "48445:5:132"
                    },
                    "nativeSrc": "48445:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48445:9:132"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "48435:6:132",
                      "nodeType": "YulTypedName",
                      "src": "48435:6:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "48488:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "48488:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6391",
                      "nativeSrc": "48463:24:132",
                      "nodeType": "YulIdentifier",
                      "src": "48463:24:132"
                    },
                    "nativeSrc": "48463:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48463:32:132"
                  },
                  "nativeSrc": "48463:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48463:32:132"
                },
                {
                  "nativeSrc": "48504:29:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48504:29:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48523:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "48523:9:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48517:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "48517:5:132"
                    },
                    "nativeSrc": "48517:16:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48517:16:132"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "48508:5:132",
                      "nodeType": "YulTypedName",
                      "src": "48508:5:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "48566:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "48566:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "48542:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "48542:23:132"
                    },
                    "nativeSrc": "48542:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48542:30:132"
                  },
                  "nativeSrc": "48542:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48542:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "48588:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "48588:6:132"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "48596:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "48596:5:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48581:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48581:6:132"
                    },
                    "nativeSrc": "48581:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48581:21:132"
                  },
                  "nativeSrc": "48581:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48581:21:132"
                },
                {
                  "nativeSrc": "48611:40:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48611:40:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48636:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "48636:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48647:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48647:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48632:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48632:3:132"
                        },
                        "nativeSrc": "48632:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48632:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48626:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "48626:5:132"
                    },
                    "nativeSrc": "48626:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48626:25:132"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "48615:7:132",
                      "nodeType": "YulTypedName",
                      "src": "48615:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "48684:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "48684:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "48660:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "48660:23:132"
                    },
                    "nativeSrc": "48660:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48660:32:132"
                  },
                  "nativeSrc": "48660:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48660:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "48712:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "48712:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48720:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48720:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48708:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48708:3:132"
                        },
                        "nativeSrc": "48708:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48708:15:132"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "48725:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "48725:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48701:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48701:6:132"
                    },
                    "nativeSrc": "48701:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48701:32:132"
                  },
                  "nativeSrc": "48701:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48701:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "48753:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "48753:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48761:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48761:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48749:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48749:3:132"
                        },
                        "nativeSrc": "48749:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48749:15:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "48798:9:132",
                                "nodeType": "YulIdentifier",
                                "src": "48798:9:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "48809:2:132",
                                "nodeType": "YulLiteral",
                                "src": "48809:2:132",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "48794:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "48794:3:132"
                            },
                            "nativeSrc": "48794:18:132",
                            "nodeType": "YulFunctionCall",
                            "src": "48794:18:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_int56_fromMemory",
                          "nativeSrc": "48766:27:132",
                          "nodeType": "YulIdentifier",
                          "src": "48766:27:132"
                        },
                        "nativeSrc": "48766:47:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48766:47:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48742:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48742:6:132"
                    },
                    "nativeSrc": "48742:72:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48742:72:132"
                  },
                  "nativeSrc": "48742:72:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48742:72:132"
                },
                {
                  "nativeSrc": "48823:40:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48823:40:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48848:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "48848:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48859:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48859:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48844:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48844:3:132"
                        },
                        "nativeSrc": "48844:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48844:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48838:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "48838:5:132"
                    },
                    "nativeSrc": "48838:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48838:25:132"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "48827:7:132",
                      "nodeType": "YulTypedName",
                      "src": "48827:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "48894:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "48894:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "48872:21:132",
                      "nodeType": "YulIdentifier",
                      "src": "48872:21:132"
                    },
                    "nativeSrc": "48872:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48872:30:132"
                  },
                  "nativeSrc": "48872:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48872:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "48922:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "48922:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48930:2:132",
                            "nodeType": "YulLiteral",
                            "src": "48930:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48918:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48918:3:132"
                        },
                        "nativeSrc": "48918:15:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48918:15:132"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "48935:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "48935:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48911:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "48911:6:132"
                    },
                    "nativeSrc": "48911:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48911:32:132"
                  },
                  "nativeSrc": "48911:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "48911:32:132"
                },
                {
                  "nativeSrc": "48952:41:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "48952:41:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48977:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "48977:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48988:3:132",
                            "nodeType": "YulLiteral",
                            "src": "48988:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48973:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "48973:3:132"
                        },
                        "nativeSrc": "48973:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "48973:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "48967:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "48967:5:132"
                    },
                    "nativeSrc": "48967:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "48967:26:132"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "48956:7:132",
                      "nodeType": "YulTypedName",
                      "src": "48956:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "49026:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "49026:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "49002:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "49002:23:132"
                    },
                    "nativeSrc": "49002:32:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49002:32:132"
                  },
                  "nativeSrc": "49002:32:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49002:32:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "49054:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "49054:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49062:3:132",
                            "nodeType": "YulLiteral",
                            "src": "49062:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49050:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49050:3:132"
                        },
                        "nativeSrc": "49050:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49050:16:132"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "49068:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "49068:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49043:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49043:6:132"
                    },
                    "nativeSrc": "49043:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49043:33:132"
                  },
                  "nativeSrc": "49043:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49043:33:132"
                },
                {
                  "nativeSrc": "49085:16:132",
                  "nodeType": "YulVariableDeclaration",
                  "src": "49085:16:132",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "49100:1:132",
                    "nodeType": "YulLiteral",
                    "src": "49100:1:132",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "49089:7:132",
                      "nodeType": "YulTypedName",
                      "src": "49089:7:132",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "49110:37:132",
                  "nodeType": "YulAssignment",
                  "src": "49110:37:132",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49131:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "49131:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49142:3:132",
                            "nodeType": "YulLiteral",
                            "src": "49142:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49127:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49127:3:132"
                        },
                        "nativeSrc": "49127:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49127:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "49121:5:132",
                      "nodeType": "YulIdentifier",
                      "src": "49121:5:132"
                    },
                    "nativeSrc": "49121:26:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49121:26:132"
                  },
                  "variableNames": [
                    {
                      "name": "value_4",
                      "nativeSrc": "49110:7:132",
                      "nodeType": "YulIdentifier",
                      "src": "49110:7:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "49167:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "49167:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49175:3:132",
                            "nodeType": "YulLiteral",
                            "src": "49175:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49163:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49163:3:132"
                        },
                        "nativeSrc": "49163:16:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49163:16:132"
                      },
                      {
                        "name": "value_4",
                        "nativeSrc": "49181:7:132",
                        "nodeType": "YulIdentifier",
                        "src": "49181:7:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49156:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49156:6:132"
                    },
                    "nativeSrc": "49156:33:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49156:33:132"
                  },
                  "nativeSrc": "49156:33:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49156:33:132"
                },
                {
                  "nativeSrc": "49198:16:132",
                  "nodeType": "YulAssignment",
                  "src": "49198:16:132",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "49208:6:132",
                    "nodeType": "YulIdentifier",
                    "src": "49208:6:132"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "49198:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49198:6:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_PriceData_$20044_memory_ptr_fromMemory",
            "nativeSrc": "48213:1007:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "48288:9:132",
                "nodeType": "YulTypedName",
                "src": "48288:9:132",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "48299:7:132",
                "nodeType": "YulTypedName",
                "src": "48299:7:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "48311:6:132",
                "nodeType": "YulTypedName",
                "src": "48311:6:132",
                "type": ""
              }
            ],
            "src": "48213:1007:132"
          },
          {
            "body": {
              "nativeSrc": "49399:173:132",
              "nodeType": "YulBlock",
              "src": "49399:173:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49416:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "49416:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49427:2:132",
                        "nodeType": "YulLiteral",
                        "src": "49427:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49409:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49409:6:132"
                    },
                    "nativeSrc": "49409:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49409:21:132"
                  },
                  "nativeSrc": "49409:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49409:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49450:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "49450:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49461:2:132",
                            "nodeType": "YulLiteral",
                            "src": "49461:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49446:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49446:3:132"
                        },
                        "nativeSrc": "49446:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49446:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49466:2:132",
                        "nodeType": "YulLiteral",
                        "src": "49466:2:132",
                        "type": "",
                        "value": "23"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49439:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49439:6:132"
                    },
                    "nativeSrc": "49439:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49439:30:132"
                  },
                  "nativeSrc": "49439:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49439:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49489:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "49489:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49500:2:132",
                            "nodeType": "YulLiteral",
                            "src": "49500:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49485:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49485:3:132"
                        },
                        "nativeSrc": "49485:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49485:18:132"
                      },
                      {
                        "hexValue": "63626f723a2063616e6e6f742066657463682064617461",
                        "kind": "string",
                        "nativeSrc": "49505:25:132",
                        "nodeType": "YulLiteral",
                        "src": "49505:25:132",
                        "type": "",
                        "value": "cbor: cannot fetch data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49478:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49478:6:132"
                    },
                    "nativeSrc": "49478:53:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49478:53:132"
                  },
                  "nativeSrc": "49478:53:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49478:53:132"
                },
                {
                  "nativeSrc": "49540:26:132",
                  "nodeType": "YulAssignment",
                  "src": "49540:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49552:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "49552:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49563:2:132",
                        "nodeType": "YulLiteral",
                        "src": "49563:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "49548:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "49548:3:132"
                    },
                    "nativeSrc": "49548:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49548:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "49540:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "49540:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_f9e00dcd71685f8522f8d07872510c3a81c2039687b393455d27e0cdc22dcafa__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "49225:347:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "49376:9:132",
                "nodeType": "YulTypedName",
                "src": "49376:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "49390:4:132",
                "nodeType": "YulTypedName",
                "src": "49390:4:132",
                "type": ""
              }
            ],
            "src": "49225:347:132"
          },
          {
            "body": {
              "nativeSrc": "49751:231:132",
              "nodeType": "YulBlock",
              "src": "49751:231:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49768:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "49768:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49779:2:132",
                        "nodeType": "YulLiteral",
                        "src": "49779:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49761:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49761:6:132"
                    },
                    "nativeSrc": "49761:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49761:21:132"
                  },
                  "nativeSrc": "49761:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49761:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49802:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "49802:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49813:2:132",
                            "nodeType": "YulLiteral",
                            "src": "49813:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49798:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49798:3:132"
                        },
                        "nativeSrc": "49798:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49798:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49818:2:132",
                        "nodeType": "YulLiteral",
                        "src": "49818:2:132",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49791:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49791:6:132"
                    },
                    "nativeSrc": "49791:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49791:30:132"
                  },
                  "nativeSrc": "49791:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49791:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49841:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "49841:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49852:2:132",
                            "nodeType": "YulLiteral",
                            "src": "49852:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49837:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49837:3:132"
                        },
                        "nativeSrc": "49837:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49837:18:132"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "49857:34:132",
                        "nodeType": "YulLiteral",
                        "src": "49857:34:132",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49830:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49830:6:132"
                    },
                    "nativeSrc": "49830:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49830:62:132"
                  },
                  "nativeSrc": "49830:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49830:62:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49912:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "49912:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49923:2:132",
                            "nodeType": "YulLiteral",
                            "src": "49923:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49908:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "49908:3:132"
                        },
                        "nativeSrc": "49908:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "49908:18:132"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "49928:11:132",
                        "nodeType": "YulLiteral",
                        "src": "49928:11:132",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49901:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "49901:6:132"
                    },
                    "nativeSrc": "49901:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49901:39:132"
                  },
                  "nativeSrc": "49901:39:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "49901:39:132"
                },
                {
                  "nativeSrc": "49949:27:132",
                  "nodeType": "YulAssignment",
                  "src": "49949:27:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49961:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "49961:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49972:3:132",
                        "nodeType": "YulLiteral",
                        "src": "49972:3:132",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "49957:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "49957:3:132"
                    },
                    "nativeSrc": "49957:19:132",
                    "nodeType": "YulFunctionCall",
                    "src": "49957:19:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "49949:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "49949:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "49577:405:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "49728:9:132",
                "nodeType": "YulTypedName",
                "src": "49728:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "49742:4:132",
                "nodeType": "YulTypedName",
                "src": "49742:4:132",
                "type": ""
              }
            ],
            "src": "49577:405:132"
          },
          {
            "body": {
              "nativeSrc": "50161:175:132",
              "nodeType": "YulBlock",
              "src": "50161:175:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50178:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "50178:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50189:2:132",
                        "nodeType": "YulLiteral",
                        "src": "50189:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50171:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50171:6:132"
                    },
                    "nativeSrc": "50171:21:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50171:21:132"
                  },
                  "nativeSrc": "50171:21:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50171:21:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50212:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "50212:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50223:2:132",
                            "nodeType": "YulLiteral",
                            "src": "50223:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50208:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50208:3:132"
                        },
                        "nativeSrc": "50208:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50208:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50228:2:132",
                        "nodeType": "YulLiteral",
                        "src": "50228:2:132",
                        "type": "",
                        "value": "25"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50201:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50201:6:132"
                    },
                    "nativeSrc": "50201:30:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50201:30:132"
                  },
                  "nativeSrc": "50201:30:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50201:30:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50251:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "50251:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50262:2:132",
                            "nodeType": "YulLiteral",
                            "src": "50262:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50247:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50247:3:132"
                        },
                        "nativeSrc": "50247:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50247:18:132"
                      },
                      {
                        "hexValue": "436c6f6e61626c65323a2043524541544532206661696c6564",
                        "kind": "string",
                        "nativeSrc": "50267:27:132",
                        "nodeType": "YulLiteral",
                        "src": "50267:27:132",
                        "type": "",
                        "value": "Clonable2: CREATE2 failed"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50240:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50240:6:132"
                    },
                    "nativeSrc": "50240:55:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50240:55:132"
                  },
                  "nativeSrc": "50240:55:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50240:55:132"
                },
                {
                  "nativeSrc": "50304:26:132",
                  "nodeType": "YulAssignment",
                  "src": "50304:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50316:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "50316:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50327:2:132",
                        "nodeType": "YulLiteral",
                        "src": "50327:2:132",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50312:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "50312:3:132"
                    },
                    "nativeSrc": "50312:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50312:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "50304:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "50304:4:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_b9eaaa363c8842f3f19ac193ef61cf120fa5a7a6958631966f78cb27655f363d__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "49987:349:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "50138:9:132",
                "nodeType": "YulTypedName",
                "src": "50138:9:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "50152:4:132",
                "nodeType": "YulTypedName",
                "src": "50152:4:132",
                "type": ""
              }
            ],
            "src": "49987:349:132"
          },
          {
            "body": {
              "nativeSrc": "50449:101:132",
              "nodeType": "YulBlock",
              "src": "50449:101:132",
              "statements": [
                {
                  "nativeSrc": "50459:26:132",
                  "nodeType": "YulAssignment",
                  "src": "50459:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50471:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "50471:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50482:2:132",
                        "nodeType": "YulLiteral",
                        "src": "50482:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50467:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "50467:3:132"
                    },
                    "nativeSrc": "50467:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50467:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "50459:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "50459:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50501:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "50501:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "50516:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "50516:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50524:18:132",
                            "nodeType": "YulLiteral",
                            "src": "50524:18:132",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50512:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50512:3:132"
                        },
                        "nativeSrc": "50512:31:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50512:31:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50494:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50494:6:132"
                    },
                    "nativeSrc": "50494:50:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50494:50:132"
                  },
                  "nativeSrc": "50494:50:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50494:50:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed",
            "nativeSrc": "50341:209:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "50418:9:132",
                "nodeType": "YulTypedName",
                "src": "50418:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "50429:6:132",
                "nodeType": "YulTypedName",
                "src": "50429:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "50440:4:132",
                "nodeType": "YulTypedName",
                "src": "50440:4:132",
                "type": ""
              }
            ],
            "src": "50341:209:132"
          },
          {
            "body": {
              "nativeSrc": "50756:240:132",
              "nodeType": "YulBlock",
              "src": "50756:240:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "50773:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "50773:3:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "50782:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "50782:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "50794:3:132",
                                "nodeType": "YulLiteral",
                                "src": "50794:3:132",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50799:3:132",
                                "nodeType": "YulLiteral",
                                "src": "50799:3:132",
                                "type": "",
                                "value": "255"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "50790:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "50790:3:132"
                            },
                            "nativeSrc": "50790:13:132",
                            "nodeType": "YulFunctionCall",
                            "src": "50790:13:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50778:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50778:3:132"
                        },
                        "nativeSrc": "50778:26:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50778:26:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50766:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50766:6:132"
                    },
                    "nativeSrc": "50766:39:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50766:39:132"
                  },
                  "nativeSrc": "50766:39:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50766:39:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "50825:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "50825:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50830:1:132",
                            "nodeType": "YulLiteral",
                            "src": "50830:1:132",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50821:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50821:3:132"
                        },
                        "nativeSrc": "50821:11:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50821:11:132"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "50842:2:132",
                                "nodeType": "YulLiteral",
                                "src": "50842:2:132",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "value1",
                                "nativeSrc": "50846:6:132",
                                "nodeType": "YulIdentifier",
                                "src": "50846:6:132"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "50838:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "50838:3:132"
                            },
                            "nativeSrc": "50838:15:132",
                            "nodeType": "YulFunctionCall",
                            "src": "50838:15:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "50859:26:132",
                                "nodeType": "YulLiteral",
                                "src": "50859:26:132",
                                "type": "",
                                "value": "0xffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "50855:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "50855:3:132"
                            },
                            "nativeSrc": "50855:31:132",
                            "nodeType": "YulFunctionCall",
                            "src": "50855:31:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50834:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50834:3:132"
                        },
                        "nativeSrc": "50834:53:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50834:53:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50814:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50814:6:132"
                    },
                    "nativeSrc": "50814:74:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50814:74:132"
                  },
                  "nativeSrc": "50814:74:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50814:74:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "50908:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "50908:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50913:2:132",
                            "nodeType": "YulLiteral",
                            "src": "50913:2:132",
                            "type": "",
                            "value": "21"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50904:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50904:3:132"
                        },
                        "nativeSrc": "50904:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50904:12:132"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "50918:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "50918:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50897:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50897:6:132"
                    },
                    "nativeSrc": "50897:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50897:28:132"
                  },
                  "nativeSrc": "50897:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50897:28:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "50945:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "50945:3:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50950:2:132",
                            "nodeType": "YulLiteral",
                            "src": "50950:2:132",
                            "type": "",
                            "value": "53"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50941:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "50941:3:132"
                        },
                        "nativeSrc": "50941:12:132",
                        "nodeType": "YulFunctionCall",
                        "src": "50941:12:132"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "50955:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "50955:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50934:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "50934:6:132"
                    },
                    "nativeSrc": "50934:28:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50934:28:132"
                  },
                  "nativeSrc": "50934:28:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "50934:28:132"
                },
                {
                  "nativeSrc": "50971:19:132",
                  "nodeType": "YulAssignment",
                  "src": "50971:19:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "50982:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "50982:3:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50987:2:132",
                        "nodeType": "YulLiteral",
                        "src": "50987:2:132",
                        "type": "",
                        "value": "85"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "50978:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "50978:3:132"
                    },
                    "nativeSrc": "50978:12:132",
                    "nodeType": "YulFunctionCall",
                    "src": "50978:12:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "50971:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "50971:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "50555:441:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "50708:3:132",
                "nodeType": "YulTypedName",
                "src": "50708:3:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "50713:6:132",
                "nodeType": "YulTypedName",
                "src": "50713:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "50721:6:132",
                "nodeType": "YulTypedName",
                "src": "50721:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "50729:6:132",
                "nodeType": "YulTypedName",
                "src": "50729:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "50737:6:132",
                "nodeType": "YulTypedName",
                "src": "50737:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "50748:3:132",
                "nodeType": "YulTypedName",
                "src": "50748:3:132",
                "type": ""
              }
            ],
            "src": "50555:441:132"
          },
          {
            "body": {
              "nativeSrc": "51184:80:132",
              "nodeType": "YulBlock",
              "src": "51184:80:132",
              "statements": [
                {
                  "nativeSrc": "51194:64:132",
                  "nodeType": "YulAssignment",
                  "src": "51194:64:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "51219:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "51219:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "51245:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "51245:6:132"
                          },
                          {
                            "name": "pos",
                            "nativeSrc": "51253:3:132",
                            "nodeType": "YulIdentifier",
                            "src": "51253:3:132"
                          }
                        ],
                        "functionName": {
                          "name": "abi_encode_string",
                          "nativeSrc": "51227:17:132",
                          "nodeType": "YulIdentifier",
                          "src": "51227:17:132"
                        },
                        "nativeSrc": "51227:30:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51227:30:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "51201:17:132",
                      "nodeType": "YulIdentifier",
                      "src": "51201:17:132"
                    },
                    "nativeSrc": "51201:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51201:57:132"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "51194:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "51194:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "51001:263:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "51152:3:132",
                "nodeType": "YulTypedName",
                "src": "51152:3:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "51157:6:132",
                "nodeType": "YulTypedName",
                "src": "51157:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "51165:6:132",
                "nodeType": "YulTypedName",
                "src": "51165:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "51176:3:132",
                "nodeType": "YulTypedName",
                "src": "51176:3:132",
                "type": ""
              }
            ],
            "src": "51001:263:132"
          },
          {
            "body": {
              "nativeSrc": "51515:343:132",
              "nodeType": "YulBlock",
              "src": "51515:343:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51532:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "51532:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51543:3:132",
                        "nodeType": "YulLiteral",
                        "src": "51543:3:132",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51525:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "51525:6:132"
                    },
                    "nativeSrc": "51525:22:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51525:22:132"
                  },
                  "nativeSrc": "51525:22:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "51525:22:132"
                },
                {
                  "nativeSrc": "51556:65:132",
                  "nodeType": "YulAssignment",
                  "src": "51556:65:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "51593:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "51593:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51605:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "51605:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51616:3:132",
                            "nodeType": "YulLiteral",
                            "src": "51616:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51601:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "51601:3:132"
                        },
                        "nativeSrc": "51601:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51601:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "51564:28:132",
                      "nodeType": "YulIdentifier",
                      "src": "51564:28:132"
                    },
                    "nativeSrc": "51564:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51564:57:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "51556:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "51556:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51641:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "51641:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51652:2:132",
                            "nodeType": "YulLiteral",
                            "src": "51652:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51637:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "51637:3:132"
                        },
                        "nativeSrc": "51637:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51637:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "51668:1:132",
                            "nodeType": "YulLiteral",
                            "src": "51668:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value1",
                            "nativeSrc": "51671:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "51671:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "51657:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "51657:10:132"
                        },
                        "nativeSrc": "51657:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51657:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51630:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "51630:6:132"
                    },
                    "nativeSrc": "51630:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51630:49:132"
                  },
                  "nativeSrc": "51630:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "51630:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "51712:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "51712:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51724:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "51724:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51735:2:132",
                            "nodeType": "YulLiteral",
                            "src": "51735:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51720:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "51720:3:132"
                        },
                        "nativeSrc": "51720:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51720:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "51688:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "51688:23:132"
                    },
                    "nativeSrc": "51688:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51688:51:132"
                  },
                  "nativeSrc": "51688:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "51688:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51759:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "51759:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51770:2:132",
                            "nodeType": "YulLiteral",
                            "src": "51770:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51755:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "51755:3:132"
                        },
                        "nativeSrc": "51755:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51755:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "51779:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "51779:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "51795:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "51795:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "51800:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "51800:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "51791:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "51791:3:132"
                                },
                                "nativeSrc": "51791:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "51791:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "51804:1:132",
                                "nodeType": "YulLiteral",
                                "src": "51804:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "51787:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "51787:3:132"
                            },
                            "nativeSrc": "51787:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "51787:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "51775:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "51775:3:132"
                        },
                        "nativeSrc": "51775:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51775:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51748:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "51748:6:132"
                    },
                    "nativeSrc": "51748:60:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51748:60:132"
                  },
                  "nativeSrc": "51748:60:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "51748:60:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51828:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "51828:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51839:3:132",
                            "nodeType": "YulLiteral",
                            "src": "51839:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51824:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "51824:3:132"
                        },
                        "nativeSrc": "51824:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "51824:19:132"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "51845:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "51845:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51817:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "51817:6:132"
                    },
                    "nativeSrc": "51817:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "51817:35:132"
                  },
                  "nativeSrc": "51817:35:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "51817:35:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr_t_int8_t_enum$_Oracles_$25264_t_address_t_bytes32__to_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_library_reversed",
            "nativeSrc": "51269:589:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51452:9:132",
                "nodeType": "YulTypedName",
                "src": "51452:9:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "51463:6:132",
                "nodeType": "YulTypedName",
                "src": "51463:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "51471:6:132",
                "nodeType": "YulTypedName",
                "src": "51471:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "51479:6:132",
                "nodeType": "YulTypedName",
                "src": "51479:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "51487:6:132",
                "nodeType": "YulTypedName",
                "src": "51487:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "51495:6:132",
                "nodeType": "YulTypedName",
                "src": "51495:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51506:4:132",
                "nodeType": "YulTypedName",
                "src": "51506:4:132",
                "type": ""
              }
            ],
            "src": "51269:589:132"
          },
          {
            "body": {
              "nativeSrc": "52153:414:132",
              "nodeType": "YulBlock",
              "src": "52153:414:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52170:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "52170:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "52185:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "52185:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "52197:3:132",
                                "nodeType": "YulLiteral",
                                "src": "52197:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "52202:10:132",
                                "nodeType": "YulLiteral",
                                "src": "52202:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "52193:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "52193:3:132"
                            },
                            "nativeSrc": "52193:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "52193:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52181:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52181:3:132"
                        },
                        "nativeSrc": "52181:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52181:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52163:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52163:6:132"
                    },
                    "nativeSrc": "52163:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52163:52:132"
                  },
                  "nativeSrc": "52163:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52163:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52235:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52235:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52246:2:132",
                            "nodeType": "YulLiteral",
                            "src": "52246:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52231:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52231:3:132"
                        },
                        "nativeSrc": "52231:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52231:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52251:3:132",
                        "nodeType": "YulLiteral",
                        "src": "52251:3:132",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52224:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52224:6:132"
                    },
                    "nativeSrc": "52224:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52224:31:132"
                  },
                  "nativeSrc": "52224:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52224:31:132"
                },
                {
                  "nativeSrc": "52264:65:132",
                  "nodeType": "YulAssignment",
                  "src": "52264:65:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "52301:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "52301:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52313:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52313:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52324:3:132",
                            "nodeType": "YulLiteral",
                            "src": "52324:3:132",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52309:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52309:3:132"
                        },
                        "nativeSrc": "52309:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52309:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "52272:28:132",
                      "nodeType": "YulIdentifier",
                      "src": "52272:28:132"
                    },
                    "nativeSrc": "52272:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52272:57:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "52264:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "52264:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52349:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52349:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52360:2:132",
                            "nodeType": "YulLiteral",
                            "src": "52360:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52345:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52345:3:132"
                        },
                        "nativeSrc": "52345:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52345:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "52376:1:132",
                            "nodeType": "YulLiteral",
                            "src": "52376:1:132",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value2",
                            "nativeSrc": "52379:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "52379:6:132"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "52365:10:132",
                          "nodeType": "YulIdentifier",
                          "src": "52365:10:132"
                        },
                        "nativeSrc": "52365:21:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52365:21:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52338:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52338:6:132"
                    },
                    "nativeSrc": "52338:49:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52338:49:132"
                  },
                  "nativeSrc": "52338:49:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52338:49:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "52420:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "52420:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52432:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52432:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52443:2:132",
                            "nodeType": "YulLiteral",
                            "src": "52443:2:132",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52428:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52428:3:132"
                        },
                        "nativeSrc": "52428:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52428:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "52396:23:132",
                      "nodeType": "YulIdentifier",
                      "src": "52396:23:132"
                    },
                    "nativeSrc": "52396:51:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52396:51:132"
                  },
                  "nativeSrc": "52396:51:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52396:51:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52467:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52467:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52478:3:132",
                            "nodeType": "YulLiteral",
                            "src": "52478:3:132",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52463:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52463:3:132"
                        },
                        "nativeSrc": "52463:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52463:19:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "52488:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "52488:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "52504:3:132",
                                    "nodeType": "YulLiteral",
                                    "src": "52504:3:132",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "52509:1:132",
                                    "nodeType": "YulLiteral",
                                    "src": "52509:1:132",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "52500:3:132",
                                  "nodeType": "YulIdentifier",
                                  "src": "52500:3:132"
                                },
                                "nativeSrc": "52500:11:132",
                                "nodeType": "YulFunctionCall",
                                "src": "52500:11:132"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "52513:1:132",
                                "nodeType": "YulLiteral",
                                "src": "52513:1:132",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "52496:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "52496:3:132"
                            },
                            "nativeSrc": "52496:19:132",
                            "nodeType": "YulFunctionCall",
                            "src": "52496:19:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52484:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52484:3:132"
                        },
                        "nativeSrc": "52484:32:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52484:32:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52456:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52456:6:132"
                    },
                    "nativeSrc": "52456:61:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52456:61:132"
                  },
                  "nativeSrc": "52456:61:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52456:61:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52537:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52537:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52548:3:132",
                            "nodeType": "YulLiteral",
                            "src": "52548:3:132",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52533:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52533:3:132"
                        },
                        "nativeSrc": "52533:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52533:19:132"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "52554:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "52554:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52526:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52526:6:132"
                    },
                    "nativeSrc": "52526:35:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52526:35:132"
                  },
                  "nativeSrc": "52526:35:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52526:35:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_memory_ptr_t_int8_t_enum$_Oracles_$25264_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed",
            "nativeSrc": "51863:704:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "52082:9:132",
                "nodeType": "YulTypedName",
                "src": "52082:9:132",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "52093:6:132",
                "nodeType": "YulTypedName",
                "src": "52093:6:132",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "52101:6:132",
                "nodeType": "YulTypedName",
                "src": "52101:6:132",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "52109:6:132",
                "nodeType": "YulTypedName",
                "src": "52109:6:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "52117:6:132",
                "nodeType": "YulTypedName",
                "src": "52117:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "52125:6:132",
                "nodeType": "YulTypedName",
                "src": "52125:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "52133:6:132",
                "nodeType": "YulTypedName",
                "src": "52133:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "52144:4:132",
                "nodeType": "YulTypedName",
                "src": "52144:4:132",
                "type": ""
              }
            ],
            "src": "51863:704:132"
          },
          {
            "body": {
              "nativeSrc": "52843:253:132",
              "nodeType": "YulBlock",
              "src": "52843:253:132",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "52860:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "52860:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "52875:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "52875:6:132"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "52887:3:132",
                                "nodeType": "YulLiteral",
                                "src": "52887:3:132",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "52892:10:132",
                                "nodeType": "YulLiteral",
                                "src": "52892:10:132",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "52883:3:132",
                              "nodeType": "YulIdentifier",
                              "src": "52883:3:132"
                            },
                            "nativeSrc": "52883:20:132",
                            "nodeType": "YulFunctionCall",
                            "src": "52883:20:132"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "52871:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52871:3:132"
                        },
                        "nativeSrc": "52871:33:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52871:33:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52853:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52853:6:132"
                    },
                    "nativeSrc": "52853:52:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52853:52:132"
                  },
                  "nativeSrc": "52853:52:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52853:52:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "52925:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "52925:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "52936:2:132",
                            "nodeType": "YulLiteral",
                            "src": "52936:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52921:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52921:3:132"
                        },
                        "nativeSrc": "52921:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52921:18:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52941:3:132",
                        "nodeType": "YulLiteral",
                        "src": "52941:3:132",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "52914:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "52914:6:132"
                    },
                    "nativeSrc": "52914:31:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52914:31:132"
                  },
                  "nativeSrc": "52914:31:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "52914:31:132"
                },
                {
                  "nativeSrc": "52954:65:132",
                  "nodeType": "YulAssignment",
                  "src": "52954:65:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "52991:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "52991:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53003:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "53003:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53014:3:132",
                            "nodeType": "YulLiteral",
                            "src": "53014:3:132",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "52999:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "52999:3:132"
                        },
                        "nativeSrc": "52999:19:132",
                        "nodeType": "YulFunctionCall",
                        "src": "52999:19:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "52962:28:132",
                      "nodeType": "YulIdentifier",
                      "src": "52962:28:132"
                    },
                    "nativeSrc": "52962:57:132",
                    "nodeType": "YulFunctionCall",
                    "src": "52962:57:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "52954:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "52954:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "53063:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "53063:6:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53075:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "53075:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53086:2:132",
                            "nodeType": "YulLiteral",
                            "src": "53086:2:132",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "53071:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53071:3:132"
                        },
                        "nativeSrc": "53071:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53071:18:132"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_UpdateConditions",
                      "nativeSrc": "53028:34:132",
                      "nodeType": "YulIdentifier",
                      "src": "53028:34:132"
                    },
                    "nativeSrc": "53028:62:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53028:62:132"
                  },
                  "nativeSrc": "53028:62:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "53028:62:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_memory_ptr_t_struct$_UpdateConditions_$25342_memory_ptr__to_t_bytes4_t_string_memory_ptr_t_struct$_UpdateConditions_$25342_memory_ptr__fromStack_reversed",
            "nativeSrc": "52572:524:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "52796:9:132",
                "nodeType": "YulTypedName",
                "src": "52796:9:132",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "52807:6:132",
                "nodeType": "YulTypedName",
                "src": "52807:6:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "52815:6:132",
                "nodeType": "YulTypedName",
                "src": "52815:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "52823:6:132",
                "nodeType": "YulTypedName",
                "src": "52823:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "52834:4:132",
                "nodeType": "YulTypedName",
                "src": "52834:4:132",
                "type": ""
              }
            ],
            "src": "52572:524:132"
          },
          {
            "body": {
              "nativeSrc": "53226:141:132",
              "nodeType": "YulBlock",
              "src": "53226:141:132",
              "statements": [
                {
                  "nativeSrc": "53236:26:132",
                  "nodeType": "YulAssignment",
                  "src": "53236:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53248:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "53248:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53259:2:132",
                        "nodeType": "YulLiteral",
                        "src": "53259:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53244:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "53244:3:132"
                    },
                    "nativeSrc": "53244:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53244:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "53236:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "53236:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53278:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "53278:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "53293:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "53293:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53301:4:132",
                            "nodeType": "YulLiteral",
                            "src": "53301:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "53289:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53289:3:132"
                        },
                        "nativeSrc": "53289:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53289:17:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53271:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "53271:6:132"
                    },
                    "nativeSrc": "53271:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53271:36:132"
                  },
                  "nativeSrc": "53271:36:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "53271:36:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53327:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "53327:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53338:2:132",
                            "nodeType": "YulLiteral",
                            "src": "53338:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "53323:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53323:3:132"
                        },
                        "nativeSrc": "53323:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53323:18:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "53347:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "53347:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53355:4:132",
                            "nodeType": "YulLiteral",
                            "src": "53355:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "53343:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53343:3:132"
                        },
                        "nativeSrc": "53343:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53343:17:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53316:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "53316:6:132"
                    },
                    "nativeSrc": "53316:45:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53316:45:132"
                  },
                  "nativeSrc": "53316:45:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "53316:45:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "53101:266:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "53187:9:132",
                "nodeType": "YulTypedName",
                "src": "53187:9:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "53198:6:132",
                "nodeType": "YulTypedName",
                "src": "53198:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "53206:6:132",
                "nodeType": "YulTypedName",
                "src": "53206:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "53217:4:132",
                "nodeType": "YulTypedName",
                "src": "53217:4:132",
                "type": ""
              }
            ],
            "src": "53101:266:132"
          },
          {
            "body": {
              "nativeSrc": "53471:87:132",
              "nodeType": "YulBlock",
              "src": "53471:87:132",
              "statements": [
                {
                  "nativeSrc": "53481:26:132",
                  "nodeType": "YulAssignment",
                  "src": "53481:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53493:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "53493:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53504:2:132",
                        "nodeType": "YulLiteral",
                        "src": "53504:2:132",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53489:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "53489:3:132"
                    },
                    "nativeSrc": "53489:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53489:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "53481:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "53481:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53523:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "53523:9:132"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "53538:6:132",
                            "nodeType": "YulIdentifier",
                            "src": "53538:6:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53546:4:132",
                            "nodeType": "YulLiteral",
                            "src": "53546:4:132",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "53534:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53534:3:132"
                        },
                        "nativeSrc": "53534:17:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53534:17:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53516:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "53516:6:132"
                    },
                    "nativeSrc": "53516:36:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53516:36:132"
                  },
                  "nativeSrc": "53516:36:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "53516:36:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "53372:186:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "53440:9:132",
                "nodeType": "YulTypedName",
                "src": "53440:9:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "53451:6:132",
                "nodeType": "YulTypedName",
                "src": "53451:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "53462:4:132",
                "nodeType": "YulTypedName",
                "src": "53462:4:132",
                "type": ""
              }
            ],
            "src": "53372:186:132"
          },
          {
            "body": {
              "nativeSrc": "53692:119:132",
              "nodeType": "YulBlock",
              "src": "53692:119:132",
              "statements": [
                {
                  "nativeSrc": "53702:26:132",
                  "nodeType": "YulAssignment",
                  "src": "53702:26:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53714:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "53714:9:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53725:2:132",
                        "nodeType": "YulLiteral",
                        "src": "53725:2:132",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53710:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "53710:3:132"
                    },
                    "nativeSrc": "53710:18:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53710:18:132"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "53702:4:132",
                      "nodeType": "YulIdentifier",
                      "src": "53702:4:132"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "53744:9:132",
                        "nodeType": "YulIdentifier",
                        "src": "53744:9:132"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "53755:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "53755:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53737:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "53737:6:132"
                    },
                    "nativeSrc": "53737:25:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53737:25:132"
                  },
                  "nativeSrc": "53737:25:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "53737:25:132"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "53782:9:132",
                            "nodeType": "YulIdentifier",
                            "src": "53782:9:132"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "53793:2:132",
                            "nodeType": "YulLiteral",
                            "src": "53793:2:132",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "53778:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53778:3:132"
                        },
                        "nativeSrc": "53778:18:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53778:18:132"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "53798:6:132",
                        "nodeType": "YulIdentifier",
                        "src": "53798:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "53771:6:132",
                      "nodeType": "YulIdentifier",
                      "src": "53771:6:132"
                    },
                    "nativeSrc": "53771:34:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53771:34:132"
                  },
                  "nativeSrc": "53771:34:132",
                  "nodeType": "YulExpressionStatement",
                  "src": "53771:34:132"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "53563:248:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "53653:9:132",
                "nodeType": "YulTypedName",
                "src": "53653:9:132",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "53664:6:132",
                "nodeType": "YulTypedName",
                "src": "53664:6:132",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "53672:6:132",
                "nodeType": "YulTypedName",
                "src": "53672:6:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "53683:4:132",
                "nodeType": "YulTypedName",
                "src": "53683:4:132",
                "type": ""
              }
            ],
            "src": "53563:248:132"
          },
          {
            "body": {
              "nativeSrc": "53863:88:132",
              "nodeType": "YulBlock",
              "src": "53863:88:132",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "53894:22:132",
                    "nodeType": "YulBlock",
                    "src": "53894:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "53896:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "53896:16:132"
                          },
                          "nativeSrc": "53896:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "53896:18:132"
                        },
                        "nativeSrc": "53896:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "53896:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "53879:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "53879:5:132"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "53890:1:132",
                            "nodeType": "YulLiteral",
                            "src": "53890:1:132",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "53886:3:132",
                          "nodeType": "YulIdentifier",
                          "src": "53886:3:132"
                        },
                        "nativeSrc": "53886:6:132",
                        "nodeType": "YulFunctionCall",
                        "src": "53886:6:132"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "53876:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "53876:2:132"
                    },
                    "nativeSrc": "53876:17:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53876:17:132"
                  },
                  "nativeSrc": "53873:43:132",
                  "nodeType": "YulIf",
                  "src": "53873:43:132"
                },
                {
                  "nativeSrc": "53925:20:132",
                  "nodeType": "YulAssignment",
                  "src": "53925:20:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "53936:5:132",
                        "nodeType": "YulIdentifier",
                        "src": "53936:5:132"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "53943:1:132",
                        "nodeType": "YulLiteral",
                        "src": "53943:1:132",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "53932:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "53932:3:132"
                    },
                    "nativeSrc": "53932:13:132",
                    "nodeType": "YulFunctionCall",
                    "src": "53932:13:132"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "53925:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "53925:3:132"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "53816:135:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "53845:5:132",
                "nodeType": "YulTypedName",
                "src": "53845:5:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "53855:3:132",
                "nodeType": "YulTypedName",
                "src": "53855:3:132",
                "type": ""
              }
            ],
            "src": "53816:135:132"
          },
          {
            "body": {
              "nativeSrc": "54004:77:132",
              "nodeType": "YulBlock",
              "src": "54004:77:132",
              "statements": [
                {
                  "nativeSrc": "54014:16:132",
                  "nodeType": "YulAssignment",
                  "src": "54014:16:132",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "54025:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "54025:1:132"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "54028:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "54028:1:132"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "54021:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "54021:3:132"
                    },
                    "nativeSrc": "54021:9:132",
                    "nodeType": "YulFunctionCall",
                    "src": "54021:9:132"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "54014:3:132",
                      "nodeType": "YulIdentifier",
                      "src": "54014:3:132"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "54053:22:132",
                    "nodeType": "YulBlock",
                    "src": "54053:22:132",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "54055:16:132",
                            "nodeType": "YulIdentifier",
                            "src": "54055:16:132"
                          },
                          "nativeSrc": "54055:18:132",
                          "nodeType": "YulFunctionCall",
                          "src": "54055:18:132"
                        },
                        "nativeSrc": "54055:18:132",
                        "nodeType": "YulExpressionStatement",
                        "src": "54055:18:132"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "54045:1:132",
                        "nodeType": "YulIdentifier",
                        "src": "54045:1:132"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "54048:3:132",
                        "nodeType": "YulIdentifier",
                        "src": "54048:3:132"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "54042:2:132",
                      "nodeType": "YulIdentifier",
                      "src": "54042:2:132"
                    },
                    "nativeSrc": "54042:10:132",
                    "nodeType": "YulFunctionCall",
                    "src": "54042:10:132"
                  },
                  "nativeSrc": "54039:36:132",
                  "nodeType": "YulIf",
                  "src": "54039:36:132"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "53956:125:132",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "53987:1:132",
                "nodeType": "YulTypedName",
                "src": "53987:1:132",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "53990:1:132",
                "nodeType": "YulTypedName",
                "src": "53990:1:132",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "53996:3:132",
                "nodeType": "YulTypedName",
                "src": "53996:3:132",
                "type": ""
              }
            ],
            "src": "53956:125:132"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\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        end := abi_encode_string(value3, abi_encode_string(value2, abi_encode_string(value1, abi_encode_string(value0, add(pos, 19)))))\n    }\n    function validator_revert_userDefinedValueType_ID4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID4_$25253(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n    }\n    function abi_encode_string_memory_ptr(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        mcopy(add(pos, 0x20), add(value, 0x20), length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\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_Mappers(value, pos)\n    {\n        if iszero(lt(value, 5)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_enum_Oracles(value, pos)\n    {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_struct_Oracle(value, pos)\n    {\n        abi_encode_enum_Oracles(mload(value), pos)\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n    }\n    function abi_encode_uint16(value, pos)\n    {\n        mstore(pos, and(value, 0xffff))\n    }\n    function abi_encode_struct_UpdateConditions(value, pos)\n    {\n        mstore(pos, and(mload(value), 0xffffff))\n        mstore(add(pos, 0x20), iszero(iszero(mload(add(value, 0x20)))))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffff))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xffffff))\n        mstore(add(pos, 0x80), and(mload(add(value, 0x80)), 0xffff))\n        mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), 0xffff))\n    }\n    function abi_encode_userDefinedValueType_Timestamp(value, pos)\n    {\n        mstore(pos, and(value, 0xffffffffffffffff))\n    }\n    function abi_encode_struct_Price(value, pos)\n    {\n        mstore(pos, signextend(0, mload(value)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), signextend(6, mload(add(value, 0x40))))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xffffffffffffffff))\n        mstore(add(pos, 0x80), mload(add(value, 0x80)))\n    }\n    function abi_encode_struct_Info(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        mstore(add(pos, 0x20), signextend(0, mload(add(value, 0x20))))\n        let memberValue0 := mload(add(value, 0x40))\n        mstore(add(pos, 0x40), 0x0240)\n        let tail := abi_encode_string_memory_ptr(memberValue0, add(pos, 0x0240))\n        let memberValue0_1 := mload(add(value, 0x60))\n        mstore(add(pos, 0x60), sub(tail, pos))\n        let tail_1 := add(tail, 0x40)\n        abi_encode_enum_Mappers(mload(memberValue0_1), tail)\n        let memberValue0_2 := mload(add(memberValue0_1, 0x20))\n        mstore(add(tail, 0x20), 0x40)\n        let pos_1 := tail_1\n        let length := mload(memberValue0_2)\n        mstore(tail_1, length)\n        pos_1 := add(tail, 0x60)\n        let tail_2 := add(add(tail, shl(5, length)), 0x60)\n        let srcPtr := add(memberValue0_2, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos_1, add(sub(tail_2, tail), not(95)))\n            tail_2 := abi_encode_string_memory_ptr(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, 0x20)\n            pos_1 := add(pos_1, 0x20)\n        }\n        let memberValue0_3 := mload(add(value, 0x80))\n        abi_encode_struct_Oracle(memberValue0_3, add(pos, 0x80))\n        let memberValue0_4 := mload(add(value, 0xa0))\n        abi_encode_struct_UpdateConditions(memberValue0_4, add(pos, 0xe0))\n        let memberValue0_5 := mload(add(value, 0xc0))\n        abi_encode_struct_Price(memberValue0_5, add(pos, 0x01a0))\n        end := tail_2\n    }\n    function abi_encode_tuple_t_struct$_Info_$25314_memory_ptr__to_t_struct$_Info_$25314_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Info(value0, add(headStart, 32))\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_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_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_bytes_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_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\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_encode_tuple_t_int8__to_t_int8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, signextend(0, value0))\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_uint64(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_uint64(value)\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID_$26992t_uint64(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_struct$_PythPrice_$27001_memory_ptr__to_t_struct$_PythPrice_$27001_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, signextend(7, mload(value0)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x40), signextend(3, mload(add(value0, 0x40))))\n        mstore(add(headStart, 0x60), mload(add(value0, 0x60)))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Info_$25314_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Info_$25314_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\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_struct_Info(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID_$26992(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\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_6391(memPtr)\n    {\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function finalize_allocation_6392(memPtr)\n    {\n        let newFreePtr := add(memPtr, 64)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\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_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_available_length_bytes(src, length, end) -> array\n    {\n        let _1 := array_allocation_size_bytes(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        array := memPtr\n        mstore(memPtr, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(memPtr, 0x20), src, length)\n        mstore(add(add(memPtr, length), 0x20), 0)\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        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { 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        let value := calldataload(add(headStart, 32))\n        validator_revert_bool(value)\n        value2 := value\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 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_string_memory_ptr(value0, add(headStart, 32))\n    }\n    function validator_revert_int8(value)\n    {\n        if iszero(eq(value, signextend(0, value))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Mappers_$25259t_array$_t_string_calldata_ptr_$dyn_calldata_ptr(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        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        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 64))\n        if iszero(lt(value_1, 5)) { revert(0, 0) }\n        value3 := value_1\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset_1)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if gt(add(add(_1, shl(5, length)), 32), dataEnd) { revert(0, 0) }\n        value4 := add(_1, 32)\n        value5 := length\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { 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        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\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_decode_tuple_t_struct$_DataPushReport_$34705_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 224) { revert(0, 0) }\n        value0 := _1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value1 := value1_1\n        value2 := value2_1\n    }\n    function abi_encode_tuple_t_struct$_UpdateConditions_$25342_memory_ptr__to_t_struct$_UpdateConditions_$25342_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 192)\n        abi_encode_struct_UpdateConditions(value0, headStart)\n    }\n    function abi_encode_tuple_t_struct$_Price_$25294_memory_ptr__to_t_struct$_Price_$25294_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        abi_encode_struct_Price(value0, headStart)\n    }\n    function abi_decode_struct_UpdateConditions_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 192) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_struct$_UpdateConditions_$25342_calldata_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := abi_decode_struct_UpdateConditions_calldata(headStart, dataEnd)\n    }\n    function abi_decode_tuple_t_string_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        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID_$26992__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_string_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_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_userDefinedValueType$_RadonHash_$34584(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { 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        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let value_1 := 0\n        value_1 := calldataload(add(headStart, 64))\n        value3 := value_1\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_addresst_addresst_struct$_UpdateConditions_$25342_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := abi_decode_struct_UpdateConditions_calldata(add(headStart, 64), dataEnd)\n    }\n    function validator_revert_uint24(value)\n    {\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID4_$25253t_uint24(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint24(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_contract$_IWitPythChainlinkAggregator_$27095__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_string_calldata_ptrt_int8t_enum$_Oracles_$25264t_addresst_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 160) { 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        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 64))\n        if iszero(lt(value_1, 4)) { revert(0, 0) }\n        value3 := value_1\n        let value_2 := calldataload(add(headStart, 96))\n        validator_revert_address(value_2)\n        value4 := value_2\n        let value_3 := 0\n        value_3 := calldataload(add(headStart, 128))\n        value5 := value_3\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n    }\n    function abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\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_decode_tuple_t_string_calldata_ptrt_struct$_UpdateConditions_$25342_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 224) { 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_UpdateConditions_calldata(add(headStart, 32), dataEnd)\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 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 _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": \")\n        end := abi_encode_string(value1, add(_1, 2))\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_userDefinedValueType$_ID4_$25253__to_t_bytes4__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_uint64_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_uint64(value)\n    }\n    function abi_decode_int56_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, signextend(6, value))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_Price_$25294_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 160)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 160)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let value := mload(headStart)\n        validator_revert_int8(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        mstore(add(memPtr, 64), abi_decode_int56_fromMemory(add(headStart, 64)))\n        let value_2 := mload(add(headStart, 96))\n        validator_revert_uint64(value_2)\n        mstore(add(memPtr, 96), value_2)\n        let value_3 := 0\n        value_3 := mload(add(headStart, 128))\n        mstore(add(memPtr, 128), value_3)\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_uint24__to_t_bytes4_t_uint24__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), and(value1, 0xffffff))\n    }\n    function abi_decode_bytes_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let _1 := array_allocation_size_bytes(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        mstore(memPtr, length)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n        mcopy(add(memPtr, 0x20), add(offset, 0x20), length)\n        mstore(add(add(memPtr, length), 0x20), 0)\n        array := memPtr\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_bytes_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"not the owner\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"already initialized codehash\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_bool__to_t_bytes4_t_bool__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), iszero(iszero(value1)))\n    }\n    function abi_encode_string_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_calldata_ptr__to_t_bytes4_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string_calldata(value1, value2, add(headStart, 64))\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        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n    }\n    function calldata_access_string_calldata(base_ref, ptr) -> value, length\n    {\n        let rel_offset_of_tail := calldataload(ptr)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let value_1 := add(rel_offset_of_tail, base_ref)\n        length := calldataload(value_1)\n        value := add(value_1, 0x20)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if sgt(value, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$25259_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n        mstore(add(headStart, 32), signextend(0, value2))\n        abi_encode_enum_Mappers(value3, add(headStart, 64))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let pos := tail_1\n        mstore(tail_1, value5)\n        pos := add(tail_1, 32)\n        let tail_2 := add(add(tail_1, shl(5, value5)), 32)\n        let srcPtr := value4\n        let i := 0\n        for { } lt(i, value5) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, tail_1), not(31)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value4, srcPtr)\n            tail_2 := abi_encode_string_calldata(elementValue0, elementValue1, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\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        returndatacopy(data, 4, add(returndatasize(), not(3)))\n        let offset := mload(data)\n        if or(gt(offset, 0xffffffffffffffff), gt(add(offset, 0x24), returndatasize())) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, 0xffffffffffffffff) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), not(3))) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$25259_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 160)\n        let tail_1 := abi_encode_string_calldata(value1, value2, add(headStart, 160))\n        mstore(add(headStart, 64), signextend(0, value3))\n        abi_encode_enum_Mappers(value4, add(headStart, 96))\n        mstore(add(headStart, 128), sub(tail_1, headStart))\n        let pos := tail_1\n        mstore(tail_1, value6)\n        pos := add(tail_1, 32)\n        let tail_2 := add(add(tail_1, shl(5, value6)), 32)\n        let srcPtr := value5\n        let i := 0\n        for { } lt(i, value6) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, tail_1), not(31)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value5, srcPtr)\n            tail_2 := abi_encode_string_calldata(elementValue0, elementValue1, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$24951_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_string_calldata_ptr_t_bytes_calldata_ptr_t_int8_t_contract$_IWitOracleRadonRegistry_$24951__to_t_string_memory_ptr_t_bytes_memory_ptr_t_int8_t_address__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        tail := abi_encode_string_calldata(value2, value3, tail_1)\n        mstore(add(headStart, 64), signextend(0, value4))\n        mstore(add(headStart, 96), and(value5, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes4t_userDefinedValueType$_RadonHash_$34584_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n        let value_1 := 0\n        value_1 := mload(add(headStart, 32))\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_calldata_ptr_t_int8_t_enum$_Oracles_$25264_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 192)\n        tail := abi_encode_string_calldata(value1, value2, add(headStart, 192))\n        mstore(add(headStart, 64), signextend(0, value3))\n        abi_encode_enum_Oracles(value4, add(headStart, 96))\n        mstore(add(headStart, 128), and(value5, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 160), value6)\n    }\n    function abi_encode_tuple_t_stringliteral_ceac1fd756e0c5b73e56786881ceba2dc475723057c1e4b6d95d0789e36b55f9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 24)\n        mstore(add(headStart, 64), \"Clonable2: not on clones\")\n        tail := add(headStart, 96)\n    }\n    function validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_uint16(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_uint16(value)\n    }\n    function abi_decode_tuple_t_uint16(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_DataPushReport_$34705_calldata_ptr_t_bytes_calldata_ptr__to_t_struct$_DataPushReport_$34705_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let value := 0\n        value := calldataload(value0)\n        mstore(add(headStart, 64), value)\n        let value_1 := 0\n        value_1 := calldataload(add(value0, 0x20))\n        mstore(add(headStart, 96), value_1)\n        let value_2 := calldataload(add(value0, 64))\n        validator_revert_uint16(value_2)\n        mstore(add(headStart, 128), and(value_2, 0xffff))\n        let value_3 := calldataload(add(value0, 96))\n        validator_revert_uint16(value_3)\n        mstore(add(headStart, 160), and(value_3, 0xffff))\n        let value_4 := calldataload(add(value0, 128))\n        validator_revert_uint64(value_4)\n        mstore(add(headStart, 192), and(value_4, 0xffffffffffffffff))\n        let memberValue0 := abi_decode_uint64(add(value0, 160))\n        abi_encode_userDefinedValueType_Timestamp(memberValue0, add(headStart, 0xe0))\n        let memberValue0_1, memberValue1 := calldata_access_string_calldata(value0, add(value0, 192))\n        mstore(add(headStart, 256), 0xe0)\n        let end := abi_encode_string_calldata(memberValue0_1, memberValue1, add(headStart, 288))\n        mstore(add(headStart, 0x20), sub(end, headStart))\n        tail := abi_encode_string_calldata(value1, value2, end)\n    }\n    function abi_decode_enum_RadonDataTypes_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 20)) { revert(0, 0) }\n    }\n    function abi_decode_uint8_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_struct_CBOR_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0xc0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_6391(memPtr)\n        value := memPtr\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(end, _1), 64) { revert(0, 0) }\n        let memPtr_1 := mload(64)\n        finalize_allocation_6392(memPtr_1)\n        let offset_1 := mload(_1)\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(memPtr_1, abi_decode_bytes_fromMemory(add(_1, offset_1), end))\n        let value_1 := 0\n        value_1 := mload(add(_1, 32))\n        mstore(add(memPtr_1, 32), value_1)\n        mstore(memPtr, memPtr_1)\n        mstore(add(memPtr, 32), abi_decode_uint8_fromMemory(add(headStart, 32)))\n        mstore(add(memPtr, 64), abi_decode_uint8_fromMemory(add(headStart, 64)))\n        mstore(add(memPtr, 96), abi_decode_uint8_fromMemory(add(headStart, 96)))\n        mstore(add(memPtr, 128), abi_decode_uint64_fromMemory(add(headStart, 128)))\n        mstore(add(memPtr, 160), abi_decode_uint64_fromMemory(add(headStart, 160)))\n    }\n    function abi_decode_tuple_t_struct$_DataResult_$34724_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        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 0xc0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_6391(memPtr)\n        let value := mload(_1)\n        if iszero(lt(value, 256)) { revert(0, 0) }\n        mstore(memPtr, value)\n        mstore(add(memPtr, 32), abi_decode_enum_RadonDataTypes_fromMemory(add(_1, 32)))\n        let value_1 := 0\n        value_1 := mload(add(_1, 64))\n        mstore(add(memPtr, 64), value_1)\n        let value_2 := 0\n        value_2 := mload(add(_1, 96))\n        mstore(add(memPtr, 96), value_2)\n        mstore(add(memPtr, 128), abi_decode_uint64_fromMemory(add(_1, 128)))\n        let offset_1 := mload(add(_1, 160))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(memPtr, 160), abi_decode_struct_CBOR_fromMemory(add(_1, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        sum := add(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        if gt(sum, 0xffffffffffffffff) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint64(x, y) -> diff\n    {\n        diff := sub(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        if gt(diff, 0xffffffffffffffff) { panic_error_0x11() }\n    }\n    function checked_sub_t_int64(x, y) -> diff\n    {\n        diff := sub(signextend(7, x), signextend(7, y))\n        if or(slt(diff, not(0x7fffffffffffffff)), sgt(diff, 0x7fffffffffffffff)) { panic_error_0x11() }\n    }\n    function negate_t_int56(value) -> ret\n    {\n        let value_1 := signextend(6, value)\n        if eq(value_1, not(0x7fffffffffffff)) { panic_error_0x11() }\n        ret := sub(0, value_1)\n    }\n    function checked_mul_t_int56(x, y) -> product\n    {\n        let product_raw := mul(signextend(6, x), signextend(6, y))\n        product := signextend(6, product_raw)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let y_1 := and(y, 0xffffffffffffffff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xffffffffffffffff), y_1)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_Timestamp_$34588_t_userDefinedValueType$_TransactionHash_$34590_t_uint64_t_int56_t_int8__to_t_uint64_t_bytes32_t_uint64_t_int56_t_int8__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, 0xffffffffffffffff))\n        mstore(add(headStart, 96), signextend(6, value3))\n        mstore(add(headStart, 128), signextend(0, value4))\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_userDefinedValueType$_Timestamp_$34588_t_userDefinedValueType$_TransactionHash_$34590_t_uint64_t_int56_t_uint64_t_int8__to_t_bytes4_t_uint64_t_bytes32_t_uint64_t_int56_t_uint64_t_int8__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 224)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), and(value3, 0xffffffffffffffff))\n        mstore(add(headStart, 128), signextend(6, value4))\n        mstore(add(headStart, 160), and(value5, 0xffffffffffffffff))\n        mstore(add(headStart, 192), signextend(0, value6))\n    }\n    function abi_encode_tuple_t_stringliteral_cb0f4f0952b6e8163e47c54b60198339d077c9d234e096d830e0e50956f02ac7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 25)\n        mstore(add(headStart, 64), \"Clonable2: only on clones\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_address_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_struct$_UpdateConditions_$25342_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 192)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        finalize_allocation_6391(memPtr)\n        let value := calldataload(headStart)\n        validator_revert_uint24(value)\n        mstore(memPtr, value)\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_uint24(value_2)\n        mstore(add(memPtr, 64), value_2)\n        let value_3 := calldataload(add(headStart, 96))\n        validator_revert_uint24(value_3)\n        mstore(add(memPtr, 96), value_3)\n        let value_4 := calldataload(add(headStart, 128))\n        validator_revert_uint16(value_4)\n        mstore(add(memPtr, 128), value_4)\n        mstore(add(memPtr, 160), abi_decode_uint16(add(headStart, 160)))\n        value0 := memPtr\n    }\n    function read_from_calldatat_uint24(ptr) -> returnValue\n    {\n        let value := calldataload(ptr)\n        validator_revert_uint24(value)\n        returnValue := value\n    }\n    function update_storage_value_offset_uint24_to_uint24(slot, value)\n    {\n        let _1 := sload(slot)\n        sstore(slot, or(and(_1, not(0xffffff00000000000000)), and(shl(56, value), 0xffffff00000000000000)))\n    }\n    function read_from_calldatat_uint16(ptr) -> returnValue\n    {\n        let value := calldataload(ptr)\n        validator_revert_uint16(value)\n        returnValue := value\n    }\n    function update_storage_value_offset_uint16_to_uint16(slot, value)\n    {\n        let _1 := sload(slot)\n        sstore(slot, or(and(_1, not(shl(80, 65535))), and(shl(80, value), shl(80, 65535))))\n    }\n    function update_storage_value_offset_t_uint16_to_t_uint16(slot, value)\n    {\n        let _1 := sload(slot)\n        sstore(slot, or(and(_1, not(shl(96, 65535))), and(shl(96, value), shl(96, 65535))))\n    }\n    function update_storage_value_offset_0_t_struct$_UpdateConditions_$25342_calldata_ptr_to_t_struct$_UpdateConditions_$25342_storage(slot, value)\n    {\n        let value_1 := calldataload(value)\n        validator_revert_uint24(value_1)\n        let _1 := and(value_1, 0xffffff)\n        let _2 := sload(slot)\n        sstore(slot, or(and(_2, not(16777215)), _1))\n        let value_2 := calldataload(add(value, 32))\n        validator_revert_bool(value_2)\n        sstore(slot, or(or(and(_2, not(0xffffffff)), _1), and(shl(24, iszero(iszero(value_2))), 0xff000000)))\n        let returnValue := 0\n        let value_3 := calldataload(add(value, 64))\n        validator_revert_uint24(value_3)\n        returnValue := value_3\n        let _3 := sload(slot)\n        sstore(slot, or(and(_3, not(0xffffff00000000)), and(shl(32, value_3), 0xffffff00000000)))\n        update_storage_value_offset_uint24_to_uint24(slot, read_from_calldatat_uint24(add(value, 96)))\n        update_storage_value_offset_uint16_to_uint16(slot, read_from_calldatat_uint16(add(value, 128)))\n        update_storage_value_offset_t_uint16_to_t_uint16(slot, read_from_calldatat_uint16(add(value, 160)))\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_userDefinedValueType$_RadonHash_$34584_t_int8_t_contract$_IWitOracleRadonRegistry_$24951__to_t_string_memory_ptr_t_bytes32_t_int8_t_address__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n        mstore(add(headStart, 32), value2)\n        mstore(add(headStart, 64), signextend(0, value3))\n        mstore(add(headStart, 96), and(value4, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_address_t_struct$_UpdateConditions_$25342_storage__to_t_address_t_address_t_struct$_UpdateConditions_$25342_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 256)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        let slotValue := sload(value2)\n        mstore(add(headStart, 64), and(slotValue, 0xffffff))\n        mstore(add(headStart, 96), iszero(iszero(and(shr(24, slotValue), 0xff))))\n        mstore(add(headStart, 128), and(shr(32, slotValue), 0xffffff))\n        mstore(add(headStart, 160), and(shr(56, slotValue), 0xffffff))\n        abi_encode_uint16(and(shr(80, slotValue), 0xffff), add(headStart, 192))\n        abi_encode_uint16(and(shr(96, slotValue), 0xffff), add(headStart, 224))\n    }\n    function abi_encode_tuple_packed_t_address_t_userDefinedValueType$_ID4_$25253__to_t_address_t_bytes4__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n        mstore(add(pos, 20), and(value1, shl(224, 0xffffffff)))\n        end := add(pos, 24)\n    }\n    function abi_encode_tuple_t_struct$_PriceFeed_$20082_storage_ptr_t_userDefinedValueType$_ID4_$25253_t_uint24__to_t_uint256_t_bytes4_t_uint24__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), and(value2, 0xffffff))\n    }\n    function abi_decode_tuple_t_struct$_PriceData_$20044_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 192)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        finalize_allocation_6391(memPtr)\n        let value := mload(headStart)\n        validator_revert_uint64(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        mstore(add(memPtr, 64), abi_decode_int56_fromMemory(add(headStart, 64)))\n        let value_2 := mload(add(headStart, 96))\n        validator_revert_int8(value_2)\n        mstore(add(memPtr, 96), value_2)\n        let value_3 := mload(add(headStart, 128))\n        validator_revert_uint64(value_3)\n        mstore(add(memPtr, 128), value_3)\n        let value_4 := 0\n        value_4 := mload(add(headStart, 160))\n        mstore(add(memPtr, 160), value_4)\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_stringliteral_f9e00dcd71685f8522f8d07872510c3a81c2039687b393455d27e0cdc22dcafa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 23)\n        mstore(add(headStart, 64), \"cbor: cannot fetch data\")\n        tail := add(headStart, 96)\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_stringliteral_b9eaaa363c8842f3f19ac193ef61cf120fa5a7a6958631966f78cb27655f363d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 25)\n        mstore(add(headStart, 64), \"Clonable2: CREATE2 failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n    }\n    function abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, and(value0, shl(248, 255)))\n        mstore(add(pos, 1), and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n        mstore(add(pos, 21), value2)\n        mstore(add(pos, 53), value3)\n        end := add(pos, 85)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        end := abi_encode_string(value1, abi_encode_string(value0, pos))\n    }\n    function abi_encode_tuple_t_string_memory_ptr_t_int8_t_enum$_Oracles_$25264_t_address_t_bytes32__to_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 160)\n        tail := abi_encode_string_memory_ptr(value0, add(headStart, 160))\n        mstore(add(headStart, 32), signextend(0, value1))\n        abi_encode_enum_Oracles(value2, add(headStart, 64))\n        mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 128), value4)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_memory_ptr_t_int8_t_enum$_Oracles_$25264_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 192)\n        tail := abi_encode_string_memory_ptr(value1, add(headStart, 192))\n        mstore(add(headStart, 64), signextend(0, value2))\n        abi_encode_enum_Oracles(value3, add(headStart, 96))\n        mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$25253_t_string_memory_ptr_t_struct$_UpdateConditions_$25342_memory_ptr__to_t_bytes4_t_string_memory_ptr_t_struct$_UpdateConditions_$25342_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 256)\n        tail := abi_encode_string_memory_ptr(value1, add(headStart, 256))\n        abi_encode_struct_UpdateConditions(value2, add(headStart, 64))\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 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 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 increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\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}",
      "id": 132,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "1553:6167:17:-:0;;;215:4:123;171:49;;1832:321:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2012:10;2024;;2601:48:18;;2639:10;2601:48;;;2627:9;2601:48;1288:4:131;1304:13;;1328:27;;;;;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;678:51:132;651:18;;1322:31:1;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;1225:187;2714:1:18::1;2689:10;-1:-1:-1::0;;;;;2689:22:18::1;;:26;2667:97;;;::::0;-1:-1:-1;;;2667:97:18;;942:2:132;2667:97:18::1;::::0;::::1;924:21:132::0;981:2;961:18;;;954:30;1020:23;1000:18;;;993:51;1061:18;;2667:97:18::1;740:345:132::0;2667:97:18::1;2775:22;2822:10;-1:-1:-1::0;;;;;2800:40:18::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2775:67:::0;-1:-1:-1;;;;;;;2875:47:18;::::1;-1:-1:-1::0;;;2875:47:18::1;::::0;:156:::1;;-1:-1:-1::0;;;;;;;2944:87:18;::::1;-1:-1:-1::0;;;2944:87:18::1;2875:156;2853:228;;;::::0;-1:-1:-1;;;2853:228:18;;1587:2:132;2853:228:18::1;::::0;::::1;1569:21:132::0;1626:2;1606:18;;;1599:30;1665:24;1645:18;;;1638:52;1707:18;;2853:228:18::1;1385:346:132::0;2853:228:18::1;-1:-1:-1::0;;;;;;;3092:22:18::1;;::::0;-1:-1:-1;3163:264:18::1;::::0;;::::1;::::0;::::1;::::0;;3223:9:::1;3163:264:::0;;-1:-1:-1;3163:264:18::1;::::0;;::::1;::::0;;;;3293:10:::1;3163:264:::0;;;;3333:6:::1;3163:264:::0;;;;3372:3:::1;3163:264:::0;;;;3414:1:::1;3163:264:::0;;;;;;;;3125:35;:302;;-1:-1:-1;;;;;;3125:302:18;;;;;2052:23:17::2;::::0;;;;2112:32;;;;::::2;::::0;;;::::2;::::0;;::::2;::::0;::::2;::::0;-1:-1:-1;2102:43:17;2086:59:::2;::::0;1553:6167;;1480:156:127;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:127;;;1594:34;1619:8;1594:24;:34::i;:::-;1480: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:513:132:-;99:6;107;115;168:2;156:9;147:7;143:23;139:32;136:52;;;184:1;181;174:12;136:52;210:16;;-1:-1:-1;;;;;255:31:132;;245:42;;235:70;;301:1;298;291:12;235:70;369:2;354:18;;348:25;418:2;403:18;;397:25;324:5;;-1:-1:-1;348:25:132;-1:-1:-1;460:15:132;;453:23;441:36;;431:64;;491:1;488;481:12;431:64;514:7;504:17;;;14:513;;;;;:::o;1090:290::-;1159:6;1212:2;1200:9;1191:7;1187:23;1183:32;1180:52;;;1228:1;1225;1218:12;1180:52;1254:16;;-1:-1:-1;;;;;;1299:32:132;;1289:43;;1279:71;;1346:1;1343;1336:12;1279:71;1369:5;1090:290;-1:-1:-1;;;1090:290:132:o;1385:346::-;1553:6167:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "1553:6167:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2315:301;2397:36;2423:7;;2410:22;;2397:12;:36::i;:::-;2448:41;2461:27;2474:7;;2461:27;;;2448:12;:41::i;:::-;2504:42;2517:28;2530:7;;2517:28;;;2504:12;:42::i;:::-;2561;2574:28;2587:7;;2574:28;;;2561:12;:42::i;:::-;2330:284;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2315:7;:301::i;:::-;1553:6167;16981:1313:18;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2314:43;;;;;;;;-1:-1:-1;;;;;5323:32:132;;;5305:51;;5293:2;5278:18;2314:43:18;5159:203:132;4103:145:18;-1:-1:-1;;;;;;;;;;;4188:48:18;-1:-1:-1;;;4188:48:18;;;;:52;;4103:145;;;5532:14:132;;5525:22;5507:41;;5495:2;5480:18;4103:145:18;5367:187:132;9986:106:18;;;;;;:::i;:::-;;:::i;:::-;;;6471:25:132;;;6459:2;6444:18;9986:106:18;6325:177:132;18461:135:18;;;;;;:::i;:::-;;:::i;:::-;;;6593:4:132;6665:21;;;;6647:40;;6635:2;6620:18;18461:135:18;6507:186:132;6640:263:18;;;;;;:::i;:::-;;:::i;:::-;;;;;;7598:13:132;;7595:1;7584:28;7566:47;;7673:4;7661:17;;;7655:24;-1:-1:-1;;;;;7651:49:132;7629:20;;;7622:79;7771:4;7759:17;;;7753:24;7750:1;7739:39;7717:20;;;7710:69;7835:4;7823:17;;;7817:24;7795:20;;;7788:54;;;;7553:3;7538:19;;7363:485;18751:313:18;;;:::i;:::-;;;;;;;:::i;8183:209::-;;;;;;:::i;:::-;;:::i;4352:862:17:-;;;;;;:::i;:::-;;:::i;20519:489:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1477:77:131:-;1541:5;1477:77;;3869:47:17;;;;;1931:88:131;2000:11;1931:88;;5647:118:17;;;:::i;:::-;;;;;;;:::i;21956:933:18:-;;;;;;:::i;:::-;;:::i;23307:1066::-;;;;;;:::i;:::-;;:::i;5303:336:17:-;;;;;;:::i;:::-;;:::i;26014:3153:18:-;;;;;;:::i;:::-;;:::i;2293:101:1:-;;;:::i;21016:631:18:-;;;;;;:::i;:::-;;:::i;19559:159::-;;;:::i;13624:119::-;13714:21;;-1:-1:-1;;;13714:21:18;;;;13624:119;;19925:169;20039:7;1710:6:1;-1:-1:-1;;;;;1710:6:1;19925:169:18;5647:118:17;19726:191:18;;;:::i;:::-;;;;;;;:::i;7736:226::-;;;;;;:::i;:::-;;:::i;16822:147::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2878:221:17:-;;;:::i;1660:176:131:-;1747:5;1800:18;1660:176;;21655:293:18;;;;;;:::i;:::-;;:::i;697:206:12:-;-1:-1:-1;;;697:206:12;;13816:131:18;;;;;;:::i;:::-;;:::i;13169:107::-;13248:20;;-1:-1:-1;;;;;13248:20:18;13169:107;;1694:130:17;1782:34;;;;;;;;;;;;-1:-1:-1;;;1782:34:17;;;;1694:130;;19072:233:18;;;;;;:::i;:::-;;:::i;15310:135::-;;;;;;:::i;:::-;;:::i;24381:1007::-;;;;;;:::i;:::-;;:::i;11218:406::-;;;;;;:::i;:::-;;:::i;3107:226:17:-;;;:::i;3443:402:18:-;;;;;;:::i;:::-;;:::i;16058:178::-;;;;;;:::i;:::-;;:::i;18302:151::-;;;;;;:::i;:::-;;:::i;20102:193::-;;;:::i;18604:135::-;;;;;;:::i;:::-;;:::i;11753:884::-;;;;;;:::i;:::-;;:::i;22897:402::-;;;;;;:::i;:::-;;:::i;14024:191::-;;;:::i;20307:204::-;;;;;;:::i;:::-;;:::i;4510:980::-;;;;;;:::i;:::-;;:::i;:::-;;;;21262:25:132;;;21318:2;21303:18;;21296:34;;;;21346:18;;;21339:34;21250:2;21235:18;4510:980:18;21062:317:132;25396:364:18;;;;;;:::i;:::-;;:::i;6518:397:17:-;6639:12;;;6649:1;6639:12;;;;;;;;;6590:13;;6621:15;;6639:12;;;;;;;;;;;-1:-1:-1;;6621:30:17;-1:-1:-1;6662:8:17;6679:7;6684:2;6679;:7;:::i;:::-;6673:19;;6690:2;6673:19;:::i;:::-;6662:30;-1:-1:-1;6703:8:17;6720:7;6725:2;6720;:7;:::i;:::-;6714:19;;6731:2;6714:19;:::i;:::-;6703:30;;6753:2;6748;:7;;;6744:33;;;6770:7;6776:1;6770:7;;:::i;:::-;;;6744:33;6797:2;6792;:7;;;6788:33;;;6814:7;6820:1;6814:7;;:::i;:::-;;;6788:33;6847:2;6840:10;;6832:2;6835:1;6832:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;6832:18:17;;;;;;;;;6876:2;6869:10;;6861:2;6864:1;6861:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;6861:18:17;;;;;;;;-1:-1:-1;6904:2:17;;6518:397;-1:-1:-1;;;;6518:397:17:o;608:229:62:-;1782:34:17;;;;;;;;;;;;-1:-1:-1;;;1782:34:17;;;;794:8:62;710:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;710:107:62;;;;;;;;;;-1:-1:-1;;;682:147:62;;;;;;;:::i;:::-;;;;;;;;16981:1313:18;17075:11;;:::i;:::-;17104:47;17154:21;17170:4;17154:15;:21::i;:::-;17204:15;;;;;;-1:-1:-1;;;;17204:15:18;;;;17230:27;17186:15;17272:7;:23;;;;;;;;:::i;:::-;;17268:296;;17312:18;17333:11;-1:-1:-1;;;;;;17333:9:18;;;:11::i;:::-;17312:32;;17386:5;:12;-1:-1:-1;;;;;17373:26:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17359:40:18;-1:-1:-1;17419:8:18;17414:139;17439:5;:12;17433:3;:18;17414:139;;;-1:-1:-1;;;;;;;;;;;17499:19:18;;:31;17519:5;17525:3;17519:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;17499:31:18;;-1:-1:-1;;;;;17499:31:18;;;;;;;;;;;;;:38;;17480:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;17492:3;17480:16;;;;;;;;:::i;:::-;;;;;;;;;;:57;17453:6;;17414:139;;;;17297:267;17268:296;17592:15;;;;17643:22;;;;17743:543;;;;;;;;;-1:-1:-1;;;17592:15:18;;;;;-1:-1:-1;;;17701:22:18;;-1:-1:-1;;;;;17701:22:18;;17743:543;17767:13;17775:4;17767:7;:13::i;:::-;17743:543;;17805:17;;;;-1:-1:-1;;;17805:17:18;;;;17743:543;;;;;;;;;;;17805:8;;17743:543;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17883:92;;;;;;;;17916:7;17883:92;;;;;;;;:::i;:::-;;;;;17948:11;17883:92;;;17743:543;;;;17998:139;;;;;;;;18031:7;17998:139;;;;;;;;:::i;:::-;;;;;18065:14;-1:-1:-1;;;;;17998:139:18;;;;;18107:14;17998:139;;;17743:543;;;;18170:36;:8;:25;;:34;:36::i;:::-;17743:543;;;;18233:20;:35;18269:4;18233:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17743:543;;17736:550;16981:1313;-1:-1:-1;;;;;;;;16981:1313:18:o;9986:106::-;10056:7;9986:106;;;;;:::o;18461:135::-;18534:4;18558:21;18574:4;18558:15;:21::i;:::-;:30;;;-1:-1:-1;;;18558:30:18;;;;;18461:135;-1:-1:-1;;18461:135:18:o;6640:263::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6814:70:18;;-1:-1:-1;;;6814:70:18;;-1:-1:-1;;;;;;25416:33:132;;6814:70:18;;;25398:52:132;25498:8;25486:21;;25466:18;;;25459:49;6785:110:18;;6814:20;;:41;;25371:18:132;;6814:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30484:212:18;;;;;;;30522:15;;;;30484:212;;;;;;;;;30587:18;;30581:25;;30484:212;;;;;;;30663:19;;;;-1:-1:-1;;;;;30634:50:18;30484:212;;;;;;;;30377:327;6785:110;6778:117;6640:263;-1:-1:-1;;;6640:263:18:o;18751:313::-;-1:-1:-1;;;;;;;;;;;18911:12:18;;18811:20;;20094:24:60;-1:-1:-1;;;;;18900:24:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;18891:33;;18940:8;18935:122;18956:6;:13;18950:3;:19;18935:122;;;19008:37;19024:20;19033:5;19039:3;19033:10;;;;;;;;:::i;:::-;;;;;;;;;30356:2;30259:110;19008:37;18994:6;19001:3;18994:11;;;;;;;;:::i;:::-;;;;;;;;;;:51;18971:6;;18935:122;;;;18833:231;18751:313;:::o;8183:209::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8300:84:18;8329:20;:29;8368:3;8359:13;8329:44;;;;;;;;;;;;;;;:::i;4352:862:17:-;4431:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;;4466:385:17;;4620:9;4609:39;;;;;;;;;;;;:::i;:::-;4587:61;-1:-1:-1;4587:61:17;-1:-1:-1;4663:26:17;4587:61;4663:18;:26::i;:::-;4466:385;;;4801:10;-1:-1:-1;;;;;4801:20:17;;;4793:46;;;;-1:-1:-1;;;4793:46:17;;26731:2:132;4793:46:17;;;26713:21:132;26770:2;26750:18;;;26743:30;-1:-1:-1;;;26789:18:132;;;26782:43;26842:18;;4793:46:17;26529:337:132;4793:46:17;4861:37;4888:9;4861:26;:37::i;:::-;4927:22;;:36;;;;:93;;-1:-1:-1;4984:22:17;;1747:5:131;1800:18;4984:36:17;4927:93;4909:188;;;5047:38;;-1:-1:-1;;;5047:38:17;;27073:2:132;5047:38:17;;;27055:21:132;27112:2;27092:18;;;27085:30;27151;27131:18;;;27124:58;27199:18;;5047:38:17;26871:352:132;4909:188:17;1747:5:131;1800:18;879:66:129;5107:22:17;;:35;1747:5:131;1800:18;1541:5;-1:-1:-1;;;;;5158:48:17;5167:7;20039::18;1710:6:1;-1:-1:-1;;;;;1710:6:1;;5647:118:17;5167:7;-1:-1:-1;;;;;5158:48:17;;5196:9;:7;:9::i;:::-;5158:48;;;;;;:::i;:::-;;;;;;;;4420:794;4352:862;:::o;20519:489:18:-;20653:17;1531:13:1;:11;:13::i;:::-;20688:23:18::1;20714;20723:13;20728:7;;20723:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;20723:4:18::1;::::0;-1:-1:-1;;;20723:13:18:i:1;:::-;30356:2:::0;30259:110;20714:23:::1;20748:56;::::0;-1:-1:-1;;;20748:56:18;;-1:-1:-1;;;;;;27446:33:132;;20748:56:18::1;::::0;::::1;27428:52:132::0;27523:14;;27516:22;27496:18;;;27489:50;20688:49:18;;-1:-1:-1;20748:20:18::1;::::0;:36:::1;::::0;27401:18:132;;20748:56:18::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20871:10;-1:-1:-1::0;;;;;20820:115:18::1;;20897:4;20917:7;;20820:115;;;;;;;;:::i;:::-;;;;;;;;20953:20;:45;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20946:54:::0;20519:489;-1:-1:-1;;;;;20519:489:18:o;5647:118:17:-;5704:13;5737:20;5747:9;5737;:20::i;:::-;5730:27;;5647:118;:::o;21956:933:18:-;22199:6;1531:13:1;:11;:13::i;:::-;22227:177:18::1;::::0;-1:-1:-1;;;22227:177:18;;:20:::1;::::0;:56:::1;::::0;:177:::1;::::0;22302:7;;;;22329:9;;22358:7;;22384:5;;;;22227:177:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;22227:177:18::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;22227:177:18::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;22223:659;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;22775:16;22783:7;22775;:16::i;:::-;22724:90;22223:659;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22851:18;:16;:18::i;22223:659::-;22497:10;-1:-1:-1::0;;;;;22463:205:18::1;;22526:23;22535:13;22540:7;;22535:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;22535:4:18::1;::::0;-1:-1:-1;;;22535:13:18:i:1;22526:23::-;22568:7;;22594:9;22622:7;22648:5;;22463:205;;;;;;;;;;;;:::i;:::-;;;;;;;;22690:10:::0;-1:-1:-1;22223:659:18::1;21956:933:::0;;;;;;;;:::o;23307:1066::-;23533:6;1531:13:1;:11;:13::i;:::-;23561:20:18::1;:63;23643:7;;23669:14;;23702:9;23741;-1:-1:-1::0;;;;;23730:30:18::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:216;;;;;;;;;;;;;;;;;;;;:::i;:::-;;::::0;::::1;;;;;;;;;;;;;;;;-1:-1:-1::0;23561:216:18::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;23561:216:18::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;23557:809;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;24259:16;24267:7;24259;:16::i;:::-;24208:90;23557:809;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24335:18;:16;:18::i;23557:809::-;23898:10;-1:-1:-1::0;;;;;23864:289:18::1;;23927:23;23936:13;23941:7;;23936:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;23936:4:18::1;::::0;-1:-1:-1;;;23936:13:18:i:1;23927:23::-;23969:7;;23995:9;24023:29;24079:4;24127:10;23864:289;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;24175:10:18;23307:1066;-1:-1:-1;;;;;;23307:1066:18:o;5303:336:17:-;5436:4;481:8:123;:6;:8::i;:::-;480:9;472:46;;;;-1:-1:-1;;;472:46:123;;;;;;;:::i;:::-;2000:11:131;5569:51:17::1;;;;;5615:5;-1:-1:-1::0;;;;;5604:16:17::1;:7;20039::18::0;1710:6:1;-1:-1:-1;;;;;1710:6:1;;5647:118:17;5604:7:::1;-1:-1:-1::0;;;;;5604:16:17::1;;5458:173;;530:1:123;5303:336:17::0;;;:::o;26014:3153:18:-;26229:19;;;;;26195:8;26206:43;;;:22;:43;;;;;;;;;-1:-1:-1;;;;;;26283:11:18;;26260:88;;;;-1:-1:-1;;;26260:88:18;;;;;;;;;;;;26359:47;26409:21;26425:4;26409:15;:21::i;:::-;26359:71;;26441:41;26485:36;:8;:25;;:34;:36::i;:::-;26593:30;;;;26441:80;;-1:-1:-1;26554:69:18;;:35;;;;;;;;:::i;:::-;:69;;;;26532:142;;;;-1:-1:-1;;;26532:142:18;;;;;;;;;;;;26724:88;;-1:-1:-1;;;26724:88:18;;26685:36;;-1:-1:-1;;;;;26735:9:18;26724:36;;;;:88;;26775:6;;26796:5;;;;26724:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26724:88:18;;;;;;;;;;;;:::i;:::-;26685:127;-1:-1:-1;26867:28:18;26845:18;;:50;;;;;;;;:::i;:::-;;:124;;;;-1:-1:-1;26940:29:18;26916:11;:20;;;:53;;;;;;;;:::i;:::-;;26845:124;26823:191;;;;-1:-1:-1;;;26823:191:18;;;;;;;;;;;;27072:19;;;:29;27047:21;;;;-1:-1:-1;;;;;;;;27072:29:18;;;;;27047:24;;37947:41:111;27025:118:18;;;;-1:-1:-1;;;27025:118:18;;;;;;;;;;;;27300:30;;;;27267:19;;;:29;27243:87;;;;;-1:-1:-1;;;27267:29:18;;-1:-1:-1;;;;;27267:29:18;27243:87;:::i;:::-;-1:-1:-1;;;;;27176:154:18;27200:11;:21;;;-1:-1:-1;;;;;27176:154:18;;;27154:212;;;;-1:-1:-1;;;27154:212:18;;;;;;;;;;;;27404:19;;;:28;27582:21;;;;-1:-1:-1;;;27404:28:18;;27387:14;27404:28;;;;27387:14;;27484:120;;-1:-1:-1;;;27508:29:18;;-1:-1:-1;;;;;27508:29:18;27484:120;:::i;:::-;27646:19;;;:25;27443:172;;;;;;-1:-1:-1;;;;27646:25:18;;-1:-1:-1;;;;;27646:25:18;27626:17;27702:23;:11;:21;:23::i;:::-;27682:43;-1:-1:-1;27736:17:18;27762:37;27788:10;27682:43;27762:37;:::i;:::-;27736:64;;27811:21;27865:1;27850:11;:16;;;;:135;;27975:10;27952:12;27953:11;27952:12;:::i;:::-;:19;;27967:4;27952:19;:::i;:::-;27945:40;;;;;;:::i;:::-;27850:135;;;27915:10;27893:18;:11;27907:4;27893:18;:::i;:::-;27886:39;;;;;;:::i;:::-;27811:185;;28057:17;:34;;;28039:52;;:14;-1:-1:-1;;;;;28039:52:18;;;28017:114;;;;-1:-1:-1;;;28017:114:18;;;;;;;;;;;;28144:19;;;:44;;28280:21;;;;-1:-1:-1;;;;;28248:53:18;;;-1:-1:-1;;;28248:53:18;-1:-1:-1;;;;;28199:38:18;;;-1:-1:-1;;;28199:38:18;-1:-1:-1;;28144:44:18;;;-1:-1:-1;;;28144:44:18;28199:38;-1:-1:-1;;28199:38:18;;;;;;;;;;;28248:53;;;;28340:20;;;;28144:44;28312:25;;:48;28567:1;28535:11;-1:-1:-1;;;;;;;;;;;20094:24:60;5647:118:17;28535:11:18;:20;;;-1:-1:-1;;;;;28535:20:18;:34;28531:629;;28663:21;;;;;28703:20;;;;;28591:234;;-1:-1:-1;;;;;41066:31:132;;;41048:50;;41129:2;41114:18;;41107:34;;;;41177:31;;;41157:18;;;41150:59;41256:1;41245:21;;;41240:2;41225:18;;41218:49;-1:-1:-1;41304:21:132;;;41283:19;;;41276:50;;;;-1:-1:-1;;;;;;28591:234:18;;;;;41035:3:132;41020:19;28591:234:18;;;;;;;28531:629;;;-1:-1:-1;;;;;;;;;;;28881:20:18;;;28957:21;;;;28997:20;;;;;28858:290;;-1:-1:-1;;;28858:290:18;;-1:-1:-1;;;;;;41747:33:132;;28858:290:18;;;41729:52:132;-1:-1:-1;;;;;41817:31:132;;;41797:18;;;41790:59;41865:18;;;41858:34;;;;41928:31;;;41908:18;;;41901:59;42008:1;41997:21;;;41976:19;;;41969:50;42056:31;;;42035:19;;;42028:60;-1:-1:-1;42125:21:132;;;42104:19;;;42097:50;-1:-1:-1;;;;;28881:20:18;;;;28858:57;;41701:19:132;;28858:290:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28531:629;26184:2983;;;;;;;;;;26014:3153;;;:::o;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;21016:631:18:-;366:8:123;:6;:8::i;:::-;358:46;;;;-1:-1:-1;;;358:46:123;;42360:2:132;358:46:123;;;42342:21:132;42399:2;42379:18;;;42372:30;-1:-1:-1;;;42418:18:132;;;42411:55;42483:18;;358:46:123;42158:349:132;358:46:123;1531:13:1::1;:11;:13::i;:::-;21143:453:18::2;-1:-1:-1::0;;;;;21166:26:18;::::2;21187:4;21166:26;::::0;::::2;::::0;:66:::2;;;21226:6;-1:-1:-1::0;;;;;21213:19:18::2;:9;-1:-1:-1::0;;;;;21213:19:18::2;;;21166:66;:108;;;;;21266:8;:6;:8::i;:::-;-1:-1:-1::0;;;;;21253:21:18::2;:9;-1:-1:-1::0;;;;;21253:21:18::2;;;21166:108;:151;;;;;21309:8;:6;:8::i;:::-;-1:-1:-1::0;;;;;21296:21:18::2;:9;-1:-1:-1::0;;;;;21296:21:18::2;;;21166:151;:197;;;;;21362:1;21338:9;-1:-1:-1::0;;;;;21338:21:18::2;;:25;21166:197;:306;;;;;21467:4;-1:-1:-1::0;;;;;21406:66:18::2;21429:9;-1:-1:-1::0;;;;;21406:47:18::2;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21406:66:18::2;;21166:306;:386;;;;;21543:9;-1:-1:-1::0;;;;;21494:58:18::2;21517:9;-1:-1:-1::0;;;;;21494:43:18::2;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21494:58:18::2;;21166:386;21143:453;;;;;;;;;;;;;-1:-1:-1::0;;;21143:453:18::2;;::::0;:8:::2;:453::i;:::-;21607:20:::0;:32;;-1:-1:-1;;;;;;21607:32:18::2;-1:-1:-1::0;;;;;21607:32:18;;;::::2;::::0;;;::::2;::::0;;21016:631::o;19559:159::-;19680:30;:28;:30::i;19726:191::-;19811:38;;:::i;:::-;-1:-1:-1;19867:42:18;;;;;;;;-1:-1:-1;;;;;;;;;;;19867:42:18;;;;;;;;;;;;;;;;;;-1:-1:-1;;;19867:42:18;;;;;;;;;;;-1:-1:-1;;;19867:42:18;;;;;;;;;;-1:-1:-1;;;19867:42:18;;;;;;;;-1:-1:-1;;;19867:42:18;;;;;;;;;;;19726:191::o;7736:226::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7864:90:18;7893:20;:35;7938:3;7929:13;30259:110;16822:147;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16920:41:18;;-1:-1:-1;;;16920:41:18;;:20;;:35;;:41;;16956:4;;16920:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2878:221:17:-;2964:4;3009:14;:12;:14::i;:::-;3008:15;:72;;;;-1:-1:-1;;3061:19:17;;-1:-1:-1;;;;;3061:19:17;3052:4;3044:36;;;2878:221::o;21655:293:18:-;1531:13:1;:11;:13::i;:::-;21810:70:18::1;21819:38;;;::::0;;::::1;::::0;::::1;21845:11:::0;21819:38:::1;:::i;:::-;:25;:38::i;:::-;21810:70;;;;;;;;;;;;;-1:-1:-1::0;;;21810:70:18::1;;::::0;:8:::1;:70::i;:::-;21929:11:::0;-1:-1:-1;;;;;;;;;;;21891:49:18::1;21929:11:::0;21891:35;:49:::1;:::i;:::-;-1:-1:-1::0;;;21655:293:18:o;13816:131::-;13874:2;13904:34;13930:7;13904:25;:34::i;19072:233::-;19153:4;19170:47;19220:41;19236:24;19245:14;19250:8;;19245:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19245:4:18;;-1:-1:-1;;;19245:14:18:i;19236:24::-;19220:15;:41::i;:::-;19170:91;;19279:18;:8;:16;:18::i;:::-;19272:25;19072:233;-1:-1:-1;;;;19072:233:18:o;15310:135::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15402:35:18;;-1:-1:-1;;;15402:35:18;;:20;;:29;;:35;;15432:4;;15402:35;;;:::i;24381:1007::-;24601:6;1531:13:1;:11;:13::i;:::-;24629:20:18::1;:59;24707:7;;24733:10;24762:9;24801;-1:-1:-1::0;;;;;24790:30:18::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24629:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;24629:208:18::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;24629:208:18::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;24625:756;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;25274:16;25282:7;25274;:16::i;:::-;25223:90;24625:756;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25350:18;:16;:18::i;24625:756::-;24929:10;-1:-1:-1::0;;;;;24895:274:18::1;;24958:23;24967:13;24972:7;;24967:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;24967:4:18::1;::::0;-1:-1:-1;;;24967:13:18:i:1;24958:23::-;25000:7;;25026:9;25054:14;25095:4;25143:10;24895:274;;;;;;;;;;;;:::i;:::-;;;;;;;;25191:10:::0;24381:1007;-1:-1:-1;;;;;24381:1007:18:o;11218:406::-;11387:7;481:8:123;:6;:8::i;:::-;480:9;472:46;;;;-1:-1:-1;;;472:46:123;;;;;;;:::i;:::-;11435:27:18::1;11456:5;11435:20;:27::i;:::-;-1:-1:-1::0;;;;;11419:74:18::1;;11512:8;:6;:8::i;:::-;11419:197;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11419:197:18;;;-1:-1:-1;;;;;46841:32:132;;;11566:35:18::1;11419:197:::0;::::1;46823:51:132::0;46910:32;;;46890:18;;;46883:60;-1:-1:-1;;;;;;;;;;;46969:13:132;47033:8;47018:24;;;46998:18;;;46991:52;47117:4;47101:2;47097:18;;;47093:29;47086:37;47079:45;47059:18;;;47052:73;46905:2;47166:18;;;47162:33;;47141:19;;;47134:62;47241:2;47237:18;;;47233:33;47212:19;;;47205:62;47318:6;47302:2;47298:18;;;47294:31;;47327:19;;;2281:31;47074:2;47378:18;;;;47374:31;47407:19;;;2281:31;46795:19;;11419:197:18::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3107:226:17:-:0;3223:19;;3190:7;;-1:-1:-1;;;;;3223:19:17;:91;;-1:-1:-1;3308:6:17;;5647:118::o;3223:91::-;-1:-1:-1;3272:19:17;;-1:-1:-1;;;;;3272:19:17;;3107:226::o;3443:402:18:-;3643:7;3668:28;3687:8;3668:18;:28::i;:::-;3745:24;-1:-1:-1;;;;;;;;;;;3707:62:18;3745:24;3707:35;:62;:::i;:::-;;;;3780:26;3798:7;3780:17;:26::i;:::-;-1:-1:-1;3832:4:18;3443:402;;;;;:::o;16058:178::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16175:53:18;;-1:-1:-1;;;16175:53:18;;-1:-1:-1;;;;;;25416:33:132;;16175:53:18;;;25398:52:132;25498:8;25486:21;;25466:18;;;25459:49;16175:20:18;;:41;;25371:18:132;;16175:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18302:151::-;18376:21;18417;18433:4;18417:15;:21::i;:::-;18410:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18302:151;;;:::o;20102:193::-;20228:7;20260:27;889:13:127;;-1:-1:-1;;;;;889:13:127;;809:101;18604:135:18;18671:7;18717:13;18725:4;18717:7;:13::i;11753:884::-;11865:27;11918:23;11934:6;;11918:15;:23::i;:::-;11910:53;;;;-1:-1:-1;;;11910:53:18;;;;;;;;;;;;11974:22;11999:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11974:70;;12055:20;12103:4;12110:22;12119:12;12124:6;;12119:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12119:4:18;;-1:-1:-1;;;12119:12:18:i;12110:22::-;12078:55;;47639:2:132;47635:15;;;;-1:-1:-1;;47631:53:132;12078:55:18;;;47619:66:132;-1:-1:-1;;;;;;47715:33:132;47701:12;;;47694:55;47765:12;;12078:55:18;;;;;;;;;;;;12055:78;;12144:19;12166:44;12191:9;12202:7;12166:24;:44::i;:::-;12144:66;;12225:11;-1:-1:-1;;;;;12225:23:18;;12252:1;12225:28;12221:351;;12270:22;12295:37;12313:9;12324:7;12295:17;:37::i;:::-;12270:62;;12526:1;12493:9;12487:16;12459:4;12448:9;12444:20;12420:1;12390:156;12375:171;12617:11;-1:-1:-1;;;;;;;11753:884:18:o;22897:402::-;23176:6;1531:13:1;:11;:13::i;:::-;23207:84:18::1;23231:7;;23207:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;23240:9:18;;-1:-1:-1;23251:7:18;;-1:-1:-1;23260:14:18;;-1:-1:-1;23276:14:18;23207:23:::1;:84::i;:::-;23200:91:::0;22897:402;-1:-1:-1;;;;;;;22897:402:18:o;14024:191::-;14137:7;14169:8;:6;:8::i;:::-;:38;;-1:-1:-1;14205:1:18;;5647:118:17:o;14169:38:18:-;-1:-1:-1;4879:66:123;1232:19;-1:-1:-1;;;;;1232:19:123;;5647:118:17:o;20307:204:18:-;1531:13:1;:11;:13::i;:::-;20467:36:18::1;20493:9;20467:25;:36::i;:::-;20307:204:::0;:::o;4510:980::-;4600:13;;;4695:3;4600:13;4761:21;4695:3;4761:15;:21::i;:::-;4711:71;;4793:41;4837:36;:8;:25;;:34;:36::i;:::-;4967:31;;;;4936:63;;-1:-1:-1;;;4936:63:18;;;;;48049:25:132;;;-1:-1:-1;;;;;;48110:33:132;;48090:18;;;48083:61;48192:8;48180:21;;;48160:18;;;48153:49;4967:31:18;;-1:-1:-1;4884:49:18;;4936:24;;;;48022:18:132;;4936:63:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5028:20;;4884:115;;-1:-1:-1;;;;;;5028:24:18;:67;;5078:11;:17;;;5028:67;;;5055:20;;5028:67;-1:-1:-1;;;;;5023:73:18;5010:87;;5150:11;:21;;;-1:-1:-1;;;;;5121:52:18;5108:65;;5209:10;5223:1;5209:15;:262;;5358:17;:31;;;5309:80;;5333:11;:21;;;5309:80;;;;:::i;:::-;-1:-1:-1;;;;;5291:98:18;:15;:98;:161;;5449:3;5209:262;;5291:161;5417:3;5209:262;;;5245:3;5209:262;5184:298;;;;4657:833;;;;4510:980;;;;;:::o;25396:364::-;1531:13:1;:11;:13::i;:::-;25616:70:18::1;25625:38;;;::::0;;::::1;::::0;::::1;25651:11:::0;25625:38:::1;:::i;25616:70::-;25697:55;25731:7;;25697:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;25697:55:18::1;::::0;-1:-1:-1;;;25697:55:18::1;::::0;;::::1;::::0;::::1;25740:11:::0;25697:55:::1;:::i;:::-;:33;:55::i;31133:164::-:0;-1:-1:-1;;;;;;27538:19:60;;31191:38:18;27538:19:60;;;:14;:19;;;;;31249:40:18;27431:134:60;20554:664;-1:-1:-1;;;;;;20688:20:60;;20662:23;20688:20;;;:14;:20;;;;;;;;;:31;;;20738:27;;20763:1;20738:27;;;;;;;;;20616:33;;20688:31;;20738:27;;20763:1;20738:27;;;;;;;;;-1:-1:-1;20738:27:60;20730:35;;20776:9;20796:288;20814:1;20807:4;:8;20796:288;;;20862:15;-1:-1:-1;;;;;;20897:9:60;;20841:11;20897:9;20893:180;;20927:5;;;20893:180;21011:4;20973:5;20979:4;20973:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;20973:43:60;;;:11;;;;;;;;;;:43;21035:22;;;;;-1:-1:-1;20817:7:60;;20796:288;;;21181:19;;-1:-1:-1;21188:5:60;20554:664;-1:-1:-1;20554:664:60:o;30125:126:18:-;-1:-1:-1;;;;;;30212:24:18;;30174:2;30212:24;;;:19;:24;;;;;:19;:30;;-1:-1:-1;;;;;;;;;;;30196:47:18;;20094:24:60;;30212:30:18;;;30196:47;;;;;;:::i;:::-;;;;;;;;;30189:54;;30125:126;;;:::o;18061:894:60:-;18168:38;;:::i;:::-;18324:623;;;;;;;;;18384:16;;-1:-1:-1;;;;;;;;;;;18276:30:60;18324:623;;;18384:16;;:21;:64;;18432:16;;;;18384:64;;;18408:21;;;;18384:64;18324:623;;;;18475:15;;18324:623;;;;;18475:15;;;;;;:39;;-1:-1:-1;18494:20:60;;;;;;;18475:39;18324:623;;;;18544:17;;18324:623;;;;;-1:-1:-1;;;18544:17:60;;;;:22;:67;;18594:17;;-1:-1:-1;;;18594:17:60;;;;18544:67;;;18569:22;;-1:-1:-1;;;18569:22:60;;;;18544:67;18324:623;;;;;;18641:18;;18324:623;;;;;-1:-1:-1;;;18641:18:60;;;:23;:70;;18693:18;;-1:-1:-1;;;18693:18:60;;;;18641:70;;;18667:23;;-1:-1:-1;;;18667:23:60;;;;18641:70;18324:623;;;;18744:21;;18324:623;;;;;-1:-1:-1;;;18744:21:60;;;;:26;:79;;18802:21;;-1:-1:-1;;;18802:21:60;;;;18744:79;;;18773:26;;-1:-1:-1;;;18773:26:60;;;;18744:79;18324:623;;;;;;18852:17;;18324:623;;;;;-1:-1:-1;;;18852:17:60;;;:22;:67;;18902:17;;-1:-1:-1;;;18902:17:60;;;;18852:67;;;18877:22;;-1:-1:-1;;;18877:22:60;;;;18852:67;18324:623;;;;18317:630;18061:894;-1:-1:-1;;;18061:894:60:o;1480:156:127:-;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:127;;;1594:34;1619:8;1594:24;:34::i;5864:646:17:-;481:8:123;:6;:8::i;:::-;480:9;472:46;;;;-1:-1:-1;;;472:46:123;;;;;;;:::i;:::-;6014:22:17;;:36;;:120:::1;;-1:-1:-1::0;6072:62:17::1;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;;;;;;6072:62:17;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;;;;;::::0;::::1;::::0;-1:-1:-1;;;6072:62:17;::::1;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;6072:62:17;::::1;::::0;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;6072:62:17;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6072:62:17;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;:25:::1;:62::i;:::-;6071:63;6014:120;5996:507;;;-1:-1:-1::0;6199:292:17::1;::::0;;::::1;::::0;::::1;::::0;;6263:9:::1;6199:292:::0;;-1:-1:-1;6199:292:17::1;::::0;::::1;::::0;6341:10:::1;6199:292:::0;;;;;;;6385:6:::1;6199:292:::0;;;;6428:3:::1;6199:292:::0;;;;6474:1:::1;6199:292:::0;;;;;-1:-1:-1;;;;;;;;;;;6161:330:17;;-1:-1:-1;;6161:330:17;;;;;5864:646::o;1796:162:1:-;20039:7:18;1710:6:1;-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;;;5305:51:132;5278:18;;1901:40:1;5159:203:132;6966:372:17;7044:13;7075:19;7107:25;7123:8;7107:15;:25::i;:::-;-1:-1:-1;;;;;7097:36:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7097:36:17;-1:-1:-1;7075:58:17;-1:-1:-1;7149:7:17;7144:155;7167:6;:13;7162:2;:18;7144:155;;;7211:8;7220:2;7211:12;;;;;;;:::i;:::-;;;;7198:6;7205:2;7198:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;7198:25:17;;;;;;;;-1:-1:-1;7267:5:17;;7144:155;;;-1:-1:-1;7323:6:17;6966:372;-1:-1:-1;;6966:372:17:o;30712:88:18:-;30765:27;;;;;;;;;;;;;;-1:-1:-1;;;30765:27:18;;;:7;:27::i;31544:198:111:-;31682:6;31634:4;31640:22;28030:17;28042:4;28030:11;:17::i;:::-;28029:18;:72;;;;;28085:16;28068:33;;;;;;;;:::i;:::-;:4;:13;;;:33;;;;;;;;:::i;:::-;;28029:72;28007:146;;;;-1:-1:-1;;;28007:146:111;;49427:2:132;28007:146:111;;;49409:21:132;49466:2;49446:18;;;49439:30;49505:25;49485:18;;;49478:53;49548:18;;28007:146:111;49225:347:132;28007:146:111;31713:21:::1;:4;:10;;;:19;:21::i;:::-;31706:28;;28184:29:::0;28202:4;:10;;;28184:17;:29::i;:::-;28168:4;:13;;:45;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;31544:198;;;;;:::o;440:160:62:-;537:10;532:61;;564:17;572:8;564:7;:17::i;:::-;440:160;;:::o;1721:245:127:-;735:10:3;;1818:14:127;:12;:14::i;:::-;-1:-1:-1;;;;;1818:24:127;;1814:108;;1859:51;;-1:-1:-1;;;1859:51:127;;49779:2:132;1859:51:127;;;49761:21:132;49818:2;49798:18;;;49791:30;49857:34;49837:18;;;49830:62;-1:-1:-1;;;49908:18:132;;;49901:39;49957:19;;1859:51:127;49577:405:132;1814:108:127;1932:26;1951:6;1932:18;:26::i;730:218:123:-;805:4;857;-1:-1:-1;;;;;866:6:123;849:23;;;;;:80;;-1:-1:-1;4879:66:123;910:19;-1:-1:-1;;;;;910:19:123;901:4;893:36;;;730:218;-1:-1:-1;730:218:123:o;30808:317:18:-;30980:23;;30936:4;;30980:27;;;;;;:77;;;31056:1;31028:11;:25;;;:29;;;30980:77;:126;;;;-1:-1:-1;;31078:24:18;;;:28;;;;;30808:317::o;25659:123:60:-;25718:7;25766:6;25755:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;25745:29;;;;;;25738:36;;25659:123;;;:::o;27573:250::-;27675:18;;;;27637:4;;27675:32;;;:76;;-1:-1:-1;27734:11:60;;;;-1:-1:-1;;;27734:11:60;;;;27728:18;;;;;;;;:::i;:::-;:23;;;;27675:76;:129;;;-1:-1:-1;;27772:18:60;;;-1:-1:-1;;;27772:18:60;;-1:-1:-1;;;;;27772:18:60;:32;;;27573:250::o;3087:413:123:-;3168:17;3203:16;3222:19;:17;:19::i;:::-;3203:38;;3349:5;3343:4;3338:3;3335:1;3327:28;3314:41;-1:-1:-1;;;;;;3384:23:123;;3376:61;;;;-1:-1:-1;;;3376:61:123;;50189:2:132;3376:61:123;;;50171:21:132;50228:2;50208:18;;;50201:30;50267:27;50247:18;;;50240:55;50312:18;;3376:61:123;49987:349:132;3376:61:123;3482:9;-1:-1:-1;;;;;3453:39:123;3472:8;:6;:8::i;:::-;-1:-1:-1;;;;;3453:39:123;3460:10;-1:-1:-1;;;;;3453:39:123;;;;;;;;;;;3192:308;3087:413;;;:::o;1522:169::-;4158:30:0;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:0;-1:-1:-1;;;4302:15:0;;;4301:16;;-1:-1:-1;;;;;4348:14:0;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:0;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:0;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:0;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:0;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:0;-1:-1:-1;;;5011:22:0;;;4977:67;366:8:123::1;:6;:8::i;:::-;358:46;;;::::0;-1:-1:-1;;;358:46:123;;42360:2:132;358:46:123::1;::::0;::::1;42342:21:132::0;42399:2;42379:18;;;42372:30;-1:-1:-1;;;42418:18:132;;;42411:55;42483:18;;358:46:123::1;42158:349:132::0;358:46:123::1;4879:66:::0;1653:29;;-1:-1:-1;;;;;;1653:29:123::2;-1:-1:-1::0;;;;;1653:29:123;::::2;;::::0;;5064:101:0;;;;5098:23;;-1:-1:-1;;;;5098:23:0;;;5140:14;;-1:-1:-1;50494:50:132;;5140:14:0;;50482:2:132;50467:18;5140:14:0;;;;;;;5064:101;4092:1079;;;;;1522:169:123;:::o;29660:457:18:-;29778:7;-1:-1:-1;;;;;;29955:4:18;29778:7;30026:35;30044:8;30054:6;30026:17;:35::i;:::-;30016:46;;;;;;;29873:208;;;;;;;;-1:-1:-1;;;;;;50778:26:132;;;;50766:39;;50842:2;50838:15;;;;-1:-1:-1;;50834:53:132;50830:1;50821:11;;50814:74;50913:2;50904:12;;50897:28;50950:2;50941:12;;50934:28;50987:2;50978:12;;50555:441;29873:208:18;;;;-1:-1:-1;;29873:208:18;;;;;;;;;29845:251;;29873:208;29845:251;;;;;29660:457;-1:-1:-1;;;29660:457:18:o;29425:227::-;29536:12;29604:8;29627:6;29573:71;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29566:78;;29425:227;;;;:::o;31305:1033::-;31592:219;;-1:-1:-1;;;31592:219:18;;31564:6;;31592:20;;:56;;:219;;31667:7;;31694:9;;31723:7;;31749:14;;31782;;31592:219;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;31592:219:18;;;;;;;;-1:-1:-1;;31592:219:18;;;;;;;;;;;;:::i;:::-;;;31588:743;;;;:::i;:::-;31904:10;31870:247;31933:23;31942:13;31947:7;31942:4;:13::i;31933:23::-;31975:7;32001:9;32029:7;32055:14;32088;31870:247;;;;;;;;;;;:::i;:::-;;;;;;;;32139:10;-1:-1:-1;32132:17:18;;2543:215:1;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:1;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:1;;2700:1:::1;2672:31;::::0;::::1;5305:51:132::0;5278:18;;2672:31:1::1;5159:203:132::0;32346:595:18;32544:8;32555:23;32564:13;32569:7;32564:4;:13::i;32555:23::-;32544:34;;32589:43;32635:21;32651:4;32635:15;:21::i;:::-;32667:35;;:21;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;32667:35:18;;;;;;;;;;;;;-1:-1:-1;;32667:35:18;-1:-1:-1;;;32667:35:18;;;;;;;-1:-1:-1;;;;32667:35:18;;;;;-1:-1:-1;;;32667:35:18;;;;;;;;;;;;-1:-1:-1;;;;32667:35:18;-1:-1:-1;;;32667:35:18;;;;;-1:-1:-1;;;;32667:35:18;;-1:-1:-1;;;32667:35:18;;;;;;;;;;;:21;;-1:-1:-1;32713:84:18;;32757:15;;;:28;;-1:-1:-1;;32757:28:18;;;32713:84;735:10:3;-1:-1:-1;;;;;32812:121:18;;32870:4;32889:7;32911:11;32812:121;;;;;;;;:::i;:::-;;;;;;;;32533:408;;32346:595;;:::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;7410:307:17:-;7494:12;7524:186;7541:2;7531:7;:12;7524:186;;;7566:8;7575:7;7566:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;7566:22:17;7562:68;7609:5;7562:68;7673:10;;7524:186;;27655:124:111;27723:4;27747:24;27759:4;:11;;;27747;:24::i;17873:211:113:-;17981:6;17945:4;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:113;;53301:4:132;53289:17;;;1813:45:113;;;53271:36:132;53343:17;;;53323:18;;;53316:45;53244:18;;1813:45:113;53101:266:132;1765:101:113;18006:72:::1;18025:4;:11;;;18045:4;:26;;;18006:10;:72::i;32065:743:111:-:0;32144:20;32219:10;:4;2152:11:113;:16;;:23;2130:18;;;;;:45;;;2043:138;32219:10:111;32214:587;;32268:1;32250:4;:14;;;:19;;;32246:544;;32366:14;;;;-1:-1:-1;;;32325:40:111;:56;;;;;;;;;:::i;:::-;;32297:87;;;;;;;;:::i;32246:544::-;32424:4;:14;;;:19;;32442:1;32424:19;32420:370;;32468:4;:26;;;:32;;32498:2;32468:32;:68;;;;32504:4;:26;;;:32;;32534:2;32504:32;32468:68;32464:311;;;-1:-1:-1;32568:19:111;;32065:743;-1:-1:-1;32065:743:111:o;32464:311::-;32665:2;32635:4;:26;;;:32;;;;:68;;;;;32701:2;32671:4;:26;;;:32;;;;32635:68;32631:144;;;-1:-1:-1;32735:20:111;;32065:743;-1:-1:-1;32065:743:111:o;3927:671:123:-;3996:16;4030:15;4048:8;:6;:8::i;:::-;4030:26;;4137:4;4131:11;4124:18;;-1:-1:-1;;;4222:3:123;4215:79;4410:7;4404:4;4400:18;4393:4;4388:3;4384:14;4377:42;-1:-1:-1;;;4506:4:123;4501:3;4497:14;4490:90;4076:515;3927:671;:::o;9071:205:0:-;9129:30;;3147:66;9186:27;8819:122;36724:224:111;36787:4;36834:32;36826:4;:40;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;36895:34:111;36887:4;:42;;;;;;;;:::i;:::-;;36804:136;36724:224;-1:-1:-1;;36724:224:111:o;8833:697:113:-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:113;;;;;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:113;;9400:67;9480:44;;-1:-1:-1;;;9480:44:113;;53546:4:132;53534:17;;9480:44:113;;;53516:36:132;53489:18;;9480:44:113;53372:186:132;13731:315:112;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:112;;;;;53737:25:132;;;53778:18;;;53771:34;;;53710:18;;1036:31:112;53563:248:132;1000:75:112;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:112;;;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:112;;;;;53737:25:132;;;53778:18;;;53771:34;;;53710:18;;1036:31:112;53563:248:132;1000:75:112;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:112;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:112;;;-1:-1:-1;;;;;14288:323:112: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:112;;;;;53737:25:132;;;53778:18;;;53771:34;;;53710:18;;1036:31:112;53563:248:132;1000:75:112;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:112;;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:112;;;;;53737:25:132;;;53778:18;;;53771:34;;;53710:18;;1036:31:112;53563:248:132;1000:75:112;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:112;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;-1:-1:-1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:212:132:-;56:3;94:5;88:12;138:6;131:4;124:5;120:16;115:3;109:36;200:1;164:16;;189:13;;;-1:-1:-1;164:16:132;;14:212;-1:-1:-1;14:212:132:o;231:570::-;-1:-1:-1;;;632:3:132;625:34;607:3;675:120;701:93;727:66;753:39;788:2;783:3;779:12;771:6;753:39;:::i;:::-;745:6;727:66;:::i;:::-;719:6;701:93;:::i;:::-;693:6;675:120;:::i;806:149::-;-1:-1:-1;;;;;;898:32:132;;888:43;;878:71;;945:1;942;935:12;960:289;1044:6;1097:2;1085:9;1076:7;1072:23;1068:32;1065:52;;;1113:1;1110;1103:12;1065:52;1152:9;1139:23;1171:48;1213:5;1171:48;:::i;1254:300::-;1307:3;1345:5;1339:12;1372:6;1367:3;1360:19;1428:6;1421:4;1414:5;1410:16;1403:4;1398:3;1394:14;1388:47;1480:1;1473:4;1464:6;1459:3;1455:16;1451:27;1444:38;1543:4;1536:2;1532:7;1527:2;1519:6;1515:15;1511:29;1506:3;1502:39;1498:50;1491:57;;;1254:300;;;;:::o;1559:127::-;1620:10;1615:3;1611:20;1608:1;1601:31;1651:4;1648:1;1641:15;1675:4;1672:1;1665:15;1691:138;1770:1;1763:5;1760:12;1750:46;;1776:18;;:::i;:::-;1805;;1691:138::o;1834:::-;1913:1;1906:5;1903:12;1893:46;;1919:18;;:::i;1977:246::-;2037:42;2075:3;2067:5;2061:12;2037:42;:::i;:::-;2132:4;2121:16;;;2115:23;-1:-1:-1;;;;;2111:49:132;2095:14;;;2088:73;2210:4;2199:16;;;2193:23;2177:14;;2170:47;1977:246::o;2323:468::-;2423:8;2415:5;2409:12;2405:27;2400:3;2393:40;2496:4;2489:5;2485:16;2479:23;2472:31;2465:39;2458:4;2453:3;2449:14;2442:63;2566:8;2558:4;2551:5;2547:16;2541:23;2537:38;2530:4;2525:3;2521:14;2514:62;2637:8;2629:4;2622:5;2618:16;2612:23;2608:38;2601:4;2596:3;2592:14;2585:62;2708:6;2700:4;2693:5;2689:16;2683:23;2679:36;2672:4;2667:3;2663:14;2656:60;2777:6;2769:4;2762:5;2758:16;2752:23;2748:36;2741:4;2736:3;2732:14;2725:60;;;2323:468::o;2927:394::-;3018:5;3012:12;3009:1;2998:27;2993:3;2986:40;-1:-1:-1;;;;;3079:4:132;3072:5;3068:16;3062:23;3058:48;3051:4;3046:3;3042:14;3035:72;3170:4;3163:5;3159:16;3153:23;3150:1;3139:38;3132:4;3127:3;3123:14;3116:62;-1:-1:-1;;;;;3231:4:132;3224:5;3220:16;3214:23;3210:48;3203:4;3198:3;3194:14;3187:72;3308:4;3301:5;3297:16;3291:23;3284:4;3279:3;3275:14;3268:47;;;2927:394::o;3326:1572::-;3409:5;3403:12;3398:3;3391:25;3479:4;3472:5;3468:16;3462:23;3459:1;3448:38;3441:4;3436:3;3432:14;3425:62;3373:3;3533:4;3526:5;3522:16;3516:23;3571:6;3564:4;3559:3;3555:14;3548:30;3599:60;3651:6;3646:3;3642:16;3628:12;3599:60;:::i;:::-;3587:72;;3707:4;3700:5;3696:16;3690:23;3755:3;3749:4;3745:14;3738:4;3733:3;3729:14;3722:38;3793:4;3787;3783:15;3807:52;3854:4;3837:14;3831:21;3807:52;:::i;:::-;3916:4;3896:25;;;3890:32;3955:4;3938:15;;;3931:29;4011:21;;4041:22;;;;4178:25;;;;4091:4;4137:1;4133:14;;;4123:25;;4119:36;;;4081:15;;;;-1:-1:-1;4231:271:132;4245:6;4242:1;4239:13;4231:271;;;4335:2;4331:7;4324:4;4316:6;4312:17;4308:31;4301:5;4294:46;4363:51;4407:6;4398;4392:13;4363:51;:::i;:::-;4449:4;4437:17;;;;4353:61;;-1:-1:-1;4476:16:132;;;;;4267:1;4260:9;4231:271;;;4235:3;;;4550:4;4543:5;4539:16;4533:23;4511:45;;4565:56;4615:4;4610:3;4606:14;4590;4565:56;:::i;:::-;4669:4;4662:5;4658:16;4652:23;4630:45;;4684:66;4744:4;4739:3;4735:14;4719;4684:66;:::i;:::-;4798:4;4791:5;4787:16;4781:23;4759:45;;4813:57;4862:6;4857:3;4853:16;4837:14;4813:57;:::i;4903:251::-;5078:2;5067:9;5060:21;5041:4;5098:50;5144:2;5133:9;5129:18;5121:6;5098:50;:::i;5559:347::-;5610:8;5620:6;5674:3;5667:4;5659:6;5655:17;5651:27;5641:55;;5692:1;5689;5682:12;5641:55;-1:-1:-1;5715:20:132;;-1:-1:-1;;;;;5747:30:132;;5744:50;;;5790:1;5787;5780:12;5744:50;5827:4;5819:6;5815:17;5803:29;;5879:3;5872:4;5863:6;5855;5851:19;5847:30;5844:39;5841:59;;;5896:1;5893;5886:12;5841:59;5559:347;;;;;:::o;5911:409::-;5981:6;5989;6042:2;6030:9;6021:7;6017:23;6013:32;6010:52;;;6058:1;6055;6048:12;6010:52;6098:9;6085:23;-1:-1:-1;;;;;6123:6:132;6120:30;6117:50;;;6163:1;6160;6153:12;6117:50;6202:58;6252:7;6243:6;6232:9;6228:22;6202:58;:::i;:::-;6279:8;;6176:84;;-1:-1:-1;5911:409:132;-1:-1:-1;;;;5911:409:132:o;6698:129::-;-1:-1:-1;;;;;6776:5:132;6772:30;6765:5;6762:41;6752:69;;6817:1;6814;6807:12;6832:132;6899:20;;6928:30;6899:20;6928:30;:::i;6969:389::-;7060:6;7068;7121:2;7109:9;7100:7;7096:23;7092:32;7089:52;;;7137:1;7134;7127:12;7089:52;7182:23;;;-1:-1:-1;7281:2:132;7266:18;;7253:32;7294;7253;7294;:::i;:::-;7345:7;7335:17;;;6969:389;;;;;:::o;7853:813::-;8041:4;8089:2;8078:9;8074:18;8119:2;8108:9;8101:21;8142:6;8177;8171:13;8208:6;8200;8193:22;8246:2;8235:9;8231:18;8224:25;;8308:2;8298:6;8295:1;8291:14;8280:9;8276:30;8272:39;8258:53;;8346:2;8338:6;8334:15;8367:1;8377:260;8391:6;8388:1;8385:13;8377:260;;;8484:2;8480:7;8468:9;8460:6;8456:22;8452:36;8447:3;8440:49;8512:45;8550:6;8541;8535:13;8512:45;:::i;:::-;8502:55;-1:-1:-1;8592:2:132;8615:12;;;;8580:15;;;;;8413:1;8406:9;8377:260;;;-1:-1:-1;8654:6:132;;7853:813;-1:-1:-1;;;;;;7853:813:132:o;8671:250::-;8754:6;8807:2;8795:9;8786:7;8782:23;8778:32;8775:52;;;8823:1;8820;8813:12;8775:52;-1:-1:-1;8868:23:132;;8671:250;-1:-1:-1;8671:250:132:o;8926:127::-;8987:10;8982:3;8978:20;8975:1;8968:31;9018:4;9015:1;9008:15;9042:4;9039:1;9032:15;9058:225;9144:4;9136:6;9132:17;9215:6;9203:10;9200:22;-1:-1:-1;;;;;9167:10:132;9164:34;9161:62;9158:88;;;9226:18;;:::i;:::-;9262:2;9255:22;-1:-1:-1;9058:225:132:o;9288:223::-;9374:2;9366:6;9362:15;9443:6;9431:10;9428:22;-1:-1:-1;;;;;9395:10:132;9392:34;9389:62;9386:88;;;9454:18;;:::i;9516:249::-;9626:2;9607:13;;-1:-1:-1;;9603:27:132;9591:40;;-1:-1:-1;;;;;9646:34:132;;9682:22;;;9643:62;9640:88;;;9708:18;;:::i;:::-;9744:2;9737:22;-1:-1:-1;;9516:249:132:o;9770:186::-;9818:4;-1:-1:-1;;;;;9843:6:132;9840:30;9837:56;;;9873:18;;:::i;:::-;-1:-1:-1;9939:2:132;9918:15;-1:-1:-1;;9914:29:132;9945:4;9910:40;;9770:186::o;9961:419::-;10025:5;10055:35;10083:6;10055:35;:::i;:::-;10119:2;10113:9;10131:31;10159:2;10151:6;10131:31;:::i;:::-;10180:6;10171:15;;10210:6;10202;10195:22;10250:3;10241:6;10236:3;10232:16;10229:25;10226:45;;;10267:1;10264;10257:12;10226:45;10317:6;10312:3;10305:4;10297:6;10293:17;10280:44;10372:1;10365:4;10356:6;10348;10344:19;10340:30;10333:41;;;9961:419;;;;;:::o;10385:449::-;10453:6;10506:2;10494:9;10485:7;10481:23;10477:32;10474:52;;;10522:1;10519;10512:12;10474:52;10562:9;10549:23;-1:-1:-1;;;;;10587:6:132;10584:30;10581:50;;;10627:1;10624;10617:12;10581:50;10650:22;;10703:4;10695:13;;10691:27;-1:-1:-1;10681:55:132;;10732:1;10729;10722:12;10681:55;10755:73;10820:7;10815:2;10802:16;10797:2;10793;10789:11;10755:73;:::i;10839:118::-;10925:5;10918:13;10911:21;10904:5;10901:32;10891:60;;10947:1;10944;10937:12;10962:539;11039:6;11047;11055;11108:2;11096:9;11087:7;11083:23;11079:32;11076:52;;;11124:1;11121;11114:12;11076:52;11164:9;11151:23;-1:-1:-1;;;;;11189:6:132;11186:30;11183:50;;;11229:1;11226;11219:12;11183:50;11268:58;11318:7;11309:6;11298:9;11294:22;11268:58;:::i;:::-;11345:8;;-1:-1:-1;11242:84:132;-1:-1:-1;;11430:2:132;11415:18;;11402:32;11443:28;11402:32;11443:28;:::i;:::-;11490:5;11480:15;;;10962:539;;;;;:::o;11506:202::-;-1:-1:-1;;;;;;11668:33:132;;;;11650:52;;11638:2;11623:18;;11506:202::o;11895:231::-;12044:2;12033:9;12026:21;12007:4;12064:56;12116:2;12105:9;12101:18;12093:6;12064:56;:::i;12131:117::-;12217:5;12214:1;12203:20;12196:5;12193:31;12183:59;;12238:1;12235;12228:12;12253:1219;12400:6;12408;12416;12424;12432;12440;12493:3;12481:9;12472:7;12468:23;12464:33;12461:53;;;12510:1;12507;12500:12;12461:53;12550:9;12537:23;-1:-1:-1;;;;;12575:6:132;12572:30;12569:50;;;12615:1;12612;12605:12;12569:50;12654:58;12704:7;12695:6;12684:9;12680:22;12654:58;:::i;:::-;12731:8;;-1:-1:-1;12628:84:132;-1:-1:-1;;12816:2:132;12801:18;;12788:32;12829:28;12788:32;12829:28;:::i;:::-;12876:5;-1:-1:-1;12933:2:132;12918:18;;12905:32;12968:1;12956:14;;12946:42;;12984:1;12981;12974:12;12946:42;13007:7;-1:-1:-1;13067:2:132;13052:18;;13039:32;-1:-1:-1;;;;;13083:32:132;;13080:52;;;13128:1;13125;13118:12;13080:52;13151:24;;13206:4;13198:13;;13194:27;-1:-1:-1;13184:55:132;;13235:1;13232;13225:12;13184:55;13275:2;13262:16;-1:-1:-1;;;;;13293:6:132;13290:30;13287:50;;;13333:1;13330;13323:12;13287:50;13386:7;13381:2;13371:6;13368:1;13364:14;13360:2;13356:23;13352:32;13349:45;13346:65;;;13407:1;13404;13397:12;13346:65;13438:2;13434;13430:11;13420:21;;13460:6;13450:16;;;;12253:1219;;;;;;;;:::o;13477:842::-;13574:6;13582;13590;13598;13606;13659:2;13647:9;13638:7;13634:23;13630:32;13627:52;;;13675:1;13672;13665:12;13627:52;13715:9;13702:23;-1:-1:-1;;;;;13740:6:132;13737:30;13734:50;;;13780:1;13777;13770:12;13734:50;13819:58;13869:7;13860:6;13849:9;13845:22;13819:58;:::i;:::-;13896:8;;-1:-1:-1;13793:84:132;-1:-1:-1;;13981:2:132;13966:18;;13953:32;13994:28;13953:32;13994:28;:::i;:::-;14041:5;-1:-1:-1;14099:2:132;14084:18;;14071:32;-1:-1:-1;;;;;14115:32:132;;14112:52;;;14160:1;14157;14150:12;14112:52;14199:60;14251:7;14240:8;14229:9;14225:24;14199:60;:::i;:::-;13477:842;;;;-1:-1:-1;13477:842:132;;-1:-1:-1;14278:8:132;;14173:86;13477:842;-1:-1:-1;;;13477:842:132:o;14324:131::-;-1:-1:-1;;;;;14399:31:132;;14389:42;;14379:70;;14445:1;14442;14435:12;14460:247;14519:6;14572:2;14560:9;14551:7;14547:23;14543:32;14540:52;;;14588:1;14585;14578:12;14540:52;14627:9;14614:23;14646:31;14671:5;14646:31;:::i;14712:698::-;14826:6;14834;14842;14895:2;14883:9;14874:7;14870:23;14866:32;14863:52;;;14911:1;14908;14901:12;14863:52;14951:9;14938:23;-1:-1:-1;;;;;14976:6:132;14973:30;14970:50;;;15016:1;15013;15006:12;14970:50;15039:22;;15095:3;15077:16;;;15073:26;15070:46;;;15112:1;15109;15102:12;15070:46;15135:2;-1:-1:-1;15190:2:132;15175:18;;15162:32;-1:-1:-1;;;;;15206:32:132;;15203:52;;;15251:1;15248;15241:12;15203:52;15290:60;15342:7;15331:8;15320:9;15316:24;15290:60;:::i;:::-;14712:698;;15369:8;;-1:-1:-1;15264:86:132;;-1:-1:-1;;;;14712:698:132:o;15415:276::-;15619:3;15604:19;;15632:53;15608:9;15667:6;15632:53;:::i;15696:243::-;15878:3;15863:19;;15891:42;15867:9;15915:6;15891:42;:::i;15944:165::-;16013:5;16058:3;16049:6;16044:3;16040:16;16036:26;16033:46;;;16075:1;16072;16065:12;16033:46;-1:-1:-1;16097:6:132;15944:165;-1:-1:-1;15944:165:132:o;16114:258::-;16210:6;16263:3;16251:9;16242:7;16238:23;16234:33;16231:53;;;16280:1;16277;16270:12;16231:53;16303:63;16358:7;16347:9;16303:63;:::i;17453:690::-;17570:6;17578;17586;17594;17647:2;17635:9;17626:7;17622:23;17618:32;17615:52;;;17663:1;17660;17653:12;17615:52;17703:9;17690:23;-1:-1:-1;;;;;17728:6:132;17725:30;17722:50;;;17768:1;17765;17758:12;17722:50;17807:58;17857:7;17848:6;17837:9;17833:22;17807:58;:::i;:::-;17884:8;;-1:-1:-1;17781:84:132;-1:-1:-1;;17969:2:132;17954:18;;17941:32;17982:28;17941:32;17982:28;:::i;:::-;17453:690;;;;-1:-1:-1;18029:5:132;;18107:2;18092:18;18079:32;;-1:-1:-1;;17453:690:132:o;18148:367::-;18216:6;18224;18277:2;18265:9;18256:7;18252:23;18248:32;18245:52;;;18293:1;18290;18283:12;18245:52;18338:23;;;-1:-1:-1;18437:2:132;18422:18;;18409:32;18450:33;18409:32;18450:33;:::i;18520:534::-;18634:6;18642;18650;18703:3;18691:9;18682:7;18678:23;18674:33;18671:53;;;18720:1;18717;18710:12;18671:53;18759:9;18746:23;18778:31;18803:5;18778:31;:::i;:::-;18828:5;-1:-1:-1;18885:2:132;18870:18;;18857:32;18898:33;18857:32;18898:33;:::i;:::-;18950:7;-1:-1:-1;18976:72:132;19040:7;19035:2;19020:18;;18976:72;:::i;:::-;18966:82;;18520:534;;;;;:::o;19059:119::-;19144:8;19137:5;19133:20;19126:5;19123:31;19113:59;;19168:1;19165;19158:12;19183:428;19275:6;19283;19336:2;19324:9;19315:7;19311:23;19307:32;19304:52;;;19352:1;19349;19342:12;19304:52;19391:9;19378:23;19410:48;19452:5;19410:48;:::i;:::-;19477:5;-1:-1:-1;19534:2:132;19519:18;;19506:32;19547;19506;19547;:::i;19861:965::-;19978:6;19986;19994;20002;20010;20018;20071:3;20059:9;20050:7;20046:23;20042:33;20039:53;;;20088:1;20085;20078:12;20039:53;20128:9;20115:23;-1:-1:-1;;;;;20153:6:132;20150:30;20147:50;;;20193:1;20190;20183:12;20147:50;20232:58;20282:7;20273:6;20262:9;20258:22;20232:58;:::i;:::-;20309:8;;-1:-1:-1;20206:84:132;-1:-1:-1;;20394:2:132;20379:18;;20366:32;20407:28;20366:32;20407:28;:::i;:::-;20454:5;-1:-1:-1;20511:2:132;20496:18;;20483:32;20546:1;20534:14;;20524:42;;20562:1;20559;20552:12;20524:42;20585:7;-1:-1:-1;20644:2:132;20629:18;;20616:32;20657:33;20616:32;20657:33;:::i;:::-;19861:965;;;;-1:-1:-1;19861:965:132;;;;;20789:3;20774:19;;;20761:33;;-1:-1:-1;;19861:965:132:o;21384:556::-;21501:6;21509;21517;21570:3;21558:9;21549:7;21545:23;21541:33;21538:53;;;21587:1;21584;21577:12;21538:53;21627:9;21614:23;-1:-1:-1;;;;;21652:6:132;21649:30;21646:50;;;21692:1;21689;21682:12;21646:50;21731:58;21781:7;21772:6;21761:9;21757:22;21731:58;:::i;:::-;21808:8;;-1:-1:-1;21705:84:132;-1:-1:-1;21862:72:132;;-1:-1:-1;21926:7:132;21921:2;21906:18;;21862:72;:::i;21945:127::-;22006:10;22001:3;21997:20;21994:1;21987:31;22037:4;22034:1;22027:15;22061:4;22058:1;22051:15;22077:127;22138:10;22133:3;22129:20;22126:1;22119:31;22169:4;22166:1;22159:15;22193:4;22190:1;22183:15;22209:165;22247:1;22281:4;22278:1;22274:12;22305:3;22295:37;;22312:18;;:::i;:::-;22364:3;22357:4;22354:1;22350:12;22346:22;22341:27;;;22209:165;;;;:::o;22379:148::-;22467:4;22446:12;;;22460;;;22442:31;;22485:13;;22482:39;;;22501:18;;:::i;22532:157::-;22562:1;22596:4;22593:1;22589:12;22620:3;22610:37;;22627:18;;:::i;:::-;22679:3;22672:4;22669:1;22665:12;22661:22;22656:27;;;22532:157;;;;:::o;22694:127::-;22755:10;22750:3;22746:20;22743:1;22736:31;22786:4;22783:1;22776:15;22810:4;22807:1;22800:15;22826:422;23106:3;23134:30;23160:3;23152:6;23134:30;:::i;:::-;-1:-1:-1;;;23180:2:132;23173:16;23205:37;23239:1;23235:2;23231:10;23223:6;23205:37;:::i;23253:380::-;23332:1;23328:12;;;;23375;;;23396:61;;23450:4;23442:6;23438:17;23428:27;;23396:61;23503:2;23495:6;23492:14;23472:18;23469:38;23466:161;;23549:10;23544:3;23540:20;23537:1;23530:31;23584:4;23581:1;23574:15;23612:4;23609:1;23602:15;23879:136;23957:13;;23979:30;23957:13;23979:30;:::i;24020:164::-;24097:13;;24150:1;24139:20;;;24129:31;;24119:59;;24174:1;24171;24164:12;24189:1000;24283:6;24343:3;24331:9;24322:7;24318:23;24314:33;24359:2;24356:22;;;24374:1;24371;24364:12;24356:22;-1:-1:-1;24423:2:132;24417:9;24465:3;24453:16;;-1:-1:-1;;;;;24484:34:132;;24520:22;;;24481:62;24478:88;;;24546:18;;:::i;:::-;24582:2;24575:22;24619:16;;24644:28;24619:16;24644:28;:::i;:::-;24681:21;;24747:2;24732:18;;24726:25;24760:32;24726:25;24760:32;:::i;:::-;24820:2;24808:15;;24801:32;24866:47;24909:2;24894:18;;24866:47;:::i;:::-;24861:2;24853:6;24849:15;24842:72;24959:2;24948:9;24944:18;24938:25;24972:32;24996:7;24972:32;:::i;:::-;25032:2;25020:15;;25013:32;25111:3;25096:19;;;25090:26;25132:16;;;25125:33;;;;-1:-1:-1;25024:6:132;24189:1000;-1:-1:-1;24189:1000:132:o;25519:529::-;25572:5;25625:3;25618:4;25610:6;25606:17;25602:27;25592:55;;25643:1;25640;25633:12;25592:55;25676:6;25670:13;25702:35;25730:6;25702:35;:::i;:::-;25766:2;25760:9;25778:31;25806:2;25798:6;25778:31;:::i;:::-;25833:6;25825;25818:22;25887:3;25880:4;25871:6;25863;25859:19;25855:30;25852:39;25849:59;;;25904:1;25901;25894:12;25849:59;25961:6;25954:4;25946:6;25942:17;25935:4;25927:6;25923:17;25917:51;26016:1;25988:19;;;26009:4;25984:30;25977:41;;;;-1:-1:-1;25992:6:132;25519:529;-1:-1:-1;;;25519:529:132:o;26053:471::-;26149:6;26157;26210:2;26198:9;26189:7;26185:23;26181:32;26178:52;;;26226:1;26223;26216:12;26178:52;26258:9;26252:16;26277:31;26302:5;26277:31;:::i;:::-;26376:2;26361:18;;26355:25;26327:5;;-1:-1:-1;;;;;;26392:30:132;;26389:50;;;26435:1;26432;26425:12;26389:50;26458:60;26510:7;26501:6;26490:9;26486:22;26458:60;:::i;:::-;26448:70;;;26053:471;;;;;:::o;27550:267::-;27639:6;27634:3;27627:19;27691:6;27684:5;27677:4;27672:3;27668:14;27655:43;-1:-1:-1;27743:1:132;27718:16;;;27736:4;27714:27;;;27707:38;;;;27799:2;27778:15;;;-1:-1:-1;;27774:29:132;27765:39;;;27761:50;;27550:267::o;27822:369::-;28054:10;28049:3;28045:20;28037:6;28033:33;28022:9;28015:52;28103:2;28098;28087:9;28083:18;28076:30;27996:4;28123:62;28181:2;28170:9;28166:18;28158:6;28150;28123:62;:::i;28196:267::-;28265:6;28318:2;28306:9;28297:7;28293:23;28289:32;28286:52;;;28334:1;28331;28324:12;28286:52;28366:9;28360:16;28385:48;28427:5;28385:48;:::i;28468:501::-;28527:5;28534:6;28594:3;28581:17;28680:2;28676:7;28665:8;28649:14;28645:29;28641:43;28621:18;28617:68;28607:96;;28699:1;28696;28689:12;28607:96;28727:33;;28831:4;28818:18;;;-1:-1:-1;28779:21:132;;-1:-1:-1;;;;;;28848:30:132;;28845:50;;;28891:1;28888;28881:12;28845:50;28938:6;28922:14;28918:27;28911:5;28907:39;28904:59;;;28959:1;28956;28949:12;28974:1210;29312:3;29301:9;29294:22;29275:4;29339:63;29397:3;29386:9;29382:19;29374:6;29366;29339:63;:::i;:::-;29452:6;29449:1;29438:21;29433:2;29422:9;29418:18;29411:49;29469:51;29516:2;29505:9;29501:18;29493:6;29469:51;:::i;:::-;29556:22;;;29551:2;29536:18;;29529:50;29614:22;;;29664:2;29652:15;;;;29710:1;29706:14;;;29694:27;;29690:36;29749:6;29773:1;29783:372;29797:6;29794:1;29791:13;29783:372;;;29862:19;;;-1:-1:-1;;29858:33:132;29846:46;;29941:47;29981:6;29973;29941:47;:::i;:::-;30011:64;30068:6;30053:13;30038;30011:64;:::i;:::-;30110:2;30133:12;;;;30001:74;;-1:-1:-1;30098:15:132;;;;;-1:-1:-1;;29819:1:132;29812:9;29783:372;;;-1:-1:-1;30172:6:132;;28974:1210;-1:-1:-1;;;;;;;;;;;28974:1210:132:o;30189:179::-;30224:3;30266:1;30248:16;30245:23;30242:120;;;30312:1;30309;30306;30291:23;-1:-1:-1;30349:1:132;30343:8;30338:3;30334:18;30189:179;:::o;30373:628::-;30412:3;30454:4;30436:16;30433:26;30430:39;;;30373:628;:::o;30430:39::-;30496:2;30490:9;30536:16;-1:-1:-1;;30532:29:132;30529:1;30490:9;30508:54;30591:4;30585:11;30665:16;30658:4;30650:6;30646:17;30643:39;-1:-1:-1;;;;;30614:6:132;30611:30;30608:75;30605:88;;;30686:5;;30373:628;:::o;30605:88::-;30723:6;30717:4;30713:17;30759:3;30753:10;-1:-1:-1;;;;;30778:6:132;30775:30;30772:43;;;30808:5;;;;30373:628;:::o;30772:43::-;30873:16;30863:27;;-1:-1:-1;;30859:40:132;30834:16;;;30852:4;30830:27;30827:73;30824:86;;;30903:5;;;;30373:628;:::o;30824:86::-;30919:57;30970:4;30961:6;30953;30949:19;30945:30;30939:4;30919:57;:::i;:::-;-1:-1:-1;30992:3:132;30373:628;-1:-1:-1;;;30373:628:132:o;31006:1325::-;31409:10;31404:3;31400:20;31392:6;31388:33;31377:9;31370:52;31458:3;31453:2;31442:9;31438:18;31431:31;31351:4;31485:63;31543:3;31532:9;31528:19;31520:6;31512;31485:63;:::i;:::-;31598:6;31595:1;31584:21;31579:2;31568:9;31564:18;31557:49;31615:51;31662:2;31651:9;31647:18;31639:6;31615:51;:::i;:::-;31703:22;;;31697:3;31682:19;;31675:51;31761:22;;;31811:2;31799:15;;;;31857:1;31853:14;;;31841:27;;31837:36;31896:6;31920:1;31930:372;31944:6;31941:1;31938:13;31930:372;;;32009:19;;;-1:-1:-1;;32005:33:132;31993:46;;32088:47;32128:6;32120;32088:47;:::i;:::-;32158:64;32215:6;32200:13;32185;32158:64;:::i;:::-;32257:2;32280:12;;;;32148:74;;-1:-1:-1;32245:15:132;;;;;-1:-1:-1;;31966:1:132;31959:9;31930:372;;;-1:-1:-1;32319:6:132;;31006:1325;-1:-1:-1;;;;;;;;;;;;31006:1325:132:o;32336:284::-;32439:6;32492:2;32480:9;32471:7;32467:23;32463:32;32460:52;;;32508:1;32505;32498:12;32460:52;32540:9;32534:16;32559:31;32584:5;32559:31;:::i;32625:655::-;32931:3;32920:9;32913:22;32894:4;32958:63;33016:3;33005:9;33001:19;32993:6;32985;32958:63;:::i;:::-;33069:9;33061:6;33057:22;33052:2;33041:9;33037:18;33030:50;33097;33140:6;33132;33124;33097:50;:::i;:::-;33194:1;33183:21;;;;33178:2;33163:18;;33156:49;-1:-1:-1;;;;;;;33241:32:132;;;;33236:2;33221:18;;;33214:60;33089:58;32625:655;-1:-1:-1;;;;32625:655:132:o;33285:411::-;33394:6;33402;33455:2;33443:9;33434:7;33430:23;33426:32;33423:52;;;33471:1;33468;33461:12;33423:52;33503:9;33497:16;33522:48;33564:5;33522:48;:::i;:::-;33660:2;33645:18;;;;33639:25;33589:5;;33639:25;;-1:-1:-1;;;33285:411:132:o;33701:720::-;34050:10;34045:3;34041:20;34033:6;34029:33;34018:9;34011:52;34099:3;34094:2;34083:9;34079:18;34072:31;33992:4;34120:63;34178:3;34167:9;34163:19;34155:6;34147;34120:63;:::i;:::-;34112:71;;34233:6;34230:1;34219:21;34214:2;34203:9;34199:18;34192:49;34250:51;34297:2;34286:9;34282:18;34274:6;34250:51;:::i;:::-;-1:-1:-1;;;;;34338:32:132;;;;34332:3;34317:19;;34310:61;34358:3;34387:19;34380:35;33701:720;;-1:-1:-1;;;;;33701:720:132:o;34426:348::-;34628:2;34610:21;;;34667:2;34647:18;;;34640:30;34706:26;34701:2;34686:18;;34679:54;34765:2;34750:18;;34426:348::o;34779:117::-;34864:6;34857:5;34853:18;34846:5;34843:29;34833:57;;34886:1;34883;34876:12;34901:132;34968:20;;34997:30;34968:20;34997:30;:::i;35038:245::-;35096:6;35149:2;35137:9;35128:7;35124:23;35120:32;35117:52;;;35165:1;35162;35155:12;35117:52;35204:9;35191:23;35223:30;35247:5;35223:30;:::i;35288:1467::-;35541:2;35523:21;;;35585:20;;35621:18;;;35614:33;35717:4;35705:17;;35692:31;35754:2;35739:18;;35732:35;35504:4;;35804:15;;35791:29;35829:32;35791:29;35829:32;:::i;:::-;35911:6;35898:20;35892:3;35877:19;;35870:49;35968:2;35956:15;;35943:29;35981:32;35943:29;35981:32;:::i;:::-;36063:6;36050:20;36044:3;36029:19;;36022:49;36120:3;36108:16;;36095:30;36134:32;36095:30;36134:32;:::i;:::-;-1:-1:-1;;;;;36203:32:132;36197:3;36182:19;;36175:61;36265:35;36295:3;36283:16;;36265:35;:::i;:::-;-1:-1:-1;;;;;2885:30:132;36380:4;36365:20;;2873:43;36431:57;36483:3;36471:16;;36475:6;36431:57;:::i;:::-;36525:4;36519:3;36508:9;36504:19;36497:33;36550:77;36622:3;36611:9;36607:19;36593:12;36577:14;36550:77;:::i;:::-;36539:88;;;36674:9;36669:3;36665:19;36658:4;36647:9;36643:20;36636:49;36702:47;36745:3;36737:6;36729;36702:47;:::i;36760:160::-;36851:13;;36893:2;36883:13;;36873:41;;36910:1;36907;36900:12;36925:160;37002:13;;37055:4;37044:16;;37034:27;;37024:55;;37075:1;37072;37065:12;37090:1224;37152:5;37200:4;37188:9;37183:3;37179:19;37175:30;37172:50;;;37218:1;37215;37208:12;37172:50;37251:2;37245:9;37263:32;37288:6;37263:32;:::i;:::-;37313:6;37304:15;;37348:9;37342:16;-1:-1:-1;;;;;37373:6:132;37370:30;37367:50;;;37413:1;37410;37403:12;37367:50;37436:22;;37488:2;37474:12;;;37470:21;37467:41;;;37504:1;37501;37494:12;37467:41;37539:2;37533:9;37551:34;37576:8;37551:34;:::i;:::-;37616:2;37610:9;-1:-1:-1;;;;;37634:8:132;37631:32;37628:52;;;37676:1;37673;37666:12;37628:52;37706:51;37753:3;37742:8;37738:2;37734:17;37706:51;:::i;:::-;37689:69;;-1:-1:-1;37817:2:132;37809:11;;;37803:18;37837:17;;;37830:34;37873:24;;37930:47;;37958:18;;37930:47;:::i;:::-;37925:2;37917:6;37913:15;37906:72;38011:47;38054:2;38043:9;38039:18;38011:47;:::i;:::-;38006:2;37998:6;37994:15;37987:72;38092:47;38135:2;38124:9;38120:18;38092:47;:::i;:::-;38087:2;38079:6;38075:15;38068:72;38174:49;38218:3;38207:9;38203:19;38174:49;:::i;:::-;38168:3;38160:6;38156:16;38149:75;38258:49;38302:3;38291:9;38287:19;38258:49;:::i;:::-;38252:3;38244:6;38240:16;38233:75;;37090:1224;;;;:::o;38319:1157::-;38418:6;38471:2;38459:9;38450:7;38446:23;38442:32;38439:52;;;38487:1;38484;38477:12;38439:52;38520:9;38514:16;-1:-1:-1;;;;;38545:6:132;38542:30;38539:50;;;38585:1;38582;38575:12;38539:50;38608:22;;38664:4;38646:16;;;38642:27;38639:47;;;38682:1;38679;38672:12;38639:47;38715:2;38709:9;38727:32;38752:6;38727:32;:::i;:::-;38787:2;38781:9;38819:3;38812:5;38809:14;38799:42;;38837:1;38834;38827:12;38799:42;38850:21;;38904:54;38954:2;38946:11;;38904:54;:::i;:::-;38899:2;38887:15;;38880:79;39018:2;39010:11;;;39004:18;39038:15;;;39031:32;39122:2;39114:11;;;39108:18;39142:15;;;39135:32;39201:42;39238:3;39230:12;;39201:42;:::i;:::-;39195:3;39187:6;39183:16;39176:68;39283:3;39279:2;39275:12;39269:19;-1:-1:-1;;;;;39303:8:132;39300:32;39297:52;;;39345:1;39342;39335:12;39297:52;39383:61;39436:7;39425:8;39421:2;39417:17;39383:61;:::i;:::-;39377:3;39365:16;;39358:87;-1:-1:-1;39369:6:132;38319:1157;-1:-1:-1;;;;38319:1157:132:o;39481:191::-;-1:-1:-1;;;;;39549:26:132;;;39577;;;39545:59;;39616:27;;39613:53;;;39646:18;;:::i;39677:194::-;-1:-1:-1;;;;;39775:26:132;;;39747;;;39743:59;;39814:28;;39811:54;;;39845:18;;:::i;39876:214::-;39974:1;39963:16;;;39945;;;;39941:39;-1:-1:-1;;39995:34:132;;40041:18;40031:29;;39992:69;39989:95;;;40064:18;;:::i;40095:193::-;40129:3;40176:5;40173:1;40162:20;40210:16;40206:21;40197:7;40194:34;40191:60;;40231:18;;:::i;:::-;40271:1;40267:15;;40095:193;-1:-1:-1;;40095:193:132:o;40293:237::-;40331:7;40408:1;40405;40394:16;40390:1;40387;40376:16;40372:39;40445:11;40442:1;40431:26;40420:37;;40488:11;40479:7;40476:24;40466:58;;40504:18;;:::i;40535:194::-;40574:1;-1:-1:-1;;;;;40605:1:132;40601:26;40646:3;40636:37;;40653:18;;:::i;:::-;40719:3;-1:-1:-1;;;;;40695:1:132;40691:26;40687:36;40682:41;;;40535:194;;;;:::o;42768:1048::-;42862:6;42922:3;42910:9;42901:7;42897:23;42893:33;42938:2;42935:22;;;42953:1;42950;42943:12;42935:22;-1:-1:-1;43002:2:132;42996:9;43014:32;42996:9;43014:32;:::i;:::-;43081:9;43068:23;43100:30;43124:5;43100:30;:::i;:::-;43139:21;;43212:2;43197:18;;43184:32;43225:30;43184:32;43225:30;:::i;:::-;43283:2;43271:15;;43264:32;43348:2;43333:18;;43320:32;43361;43320;43361;:::i;:::-;43421:2;43409:15;;43402:32;43486:2;43471:18;;43458:32;43499;43458;43499;:::i;:::-;43559:2;43547:15;;43540:32;43624:3;43609:19;;43596:33;43638:32;43596:33;43638:32;:::i;:::-;43698:3;43686:16;;43679:33;43746:38;43779:3;43764:19;;43746:38;:::i;:::-;43740:3;43728:16;;43721:64;43732:6;42768:1048;-1:-1:-1;;;42768:1048:132:o;43821:174::-;43865:11;43917:3;43904:17;43930:30;43954:5;43930:30;:::i;44221:174::-;44265:11;44317:3;44304:17;44330:30;44354:5;44330:30;:::i;44814:1160::-;45000:5;44987:19;45015:32;45039:7;45015:32;:::i;:::-;45079:8;45070:7;45066:22;45056:32;;45113:4;45107:11;45167:2;45155:8;45151:13;45147:2;45143:22;45140:30;45134:4;45127:44;45219:2;45212:5;45208:14;45195:28;45232:30;45254:7;45232:30;:::i;:::-;-1:-1:-1;;45290:24:132;;;;45287:32;;;45340:15;;45333:23;45329:2;45325:32;45359:10;45321:49;45284:87;45271:101;;45400:1;45449:2;45438:14;;45425:28;45462:32;45425:28;45462:32;:::i;:::-;45544:11;;-1:-1:-1;;45580:30:132;45620:2;45616:16;;;;45634;45612:39;45577:75;45564:89;;-1:-1:-1;45662:94:132;45713:42;45751:2;45740:14;;45713:42;:::i;:::-;44091:11;;-1:-1:-1;;;;44127:36:132;44173:2;44169:14;;;;44185:22;44165:43;44124:85;44111:99;;44000:216;45662:94;45765:95;45816:43;45854:3;45847:5;45843:15;45816:43;:::i;:::-;45810:4;44491:11;;-1:-1:-1;;;;44527:28:132;44581:2;44561:14;;;;-1:-1:-1;;;44557:35:132;44524:69;;;;44511:83;;44400:200;45765:95;45869:99;45924:43;45962:3;45955:5;45951:15;45924:43;:::i;:::-;45918:4;44700:11;;-1:-1:-1;;;;44736:28:132;44790:2;44770:14;;;;-1:-1:-1;;;44766:35:132;44733:69;;;;44720:83;;44605:204;45979:569;46288:3;46277:9;46270:22;46251:4;46309:63;46367:3;46356:9;46352:19;46344:6;46336;46309:63;:::i;:::-;46403:2;46388:18;;46381:34;;;;-1:-1:-1;46462:1:132;46451:21;;;;46446:2;46431:18;;46424:49;-1:-1:-1;;;;;46509:32:132;46504:2;46489:18;;;46482:60;46301:71;45979:569;-1:-1:-1;;45979:569:132:o;48213:1007::-;48311:6;48371:3;48359:9;48350:7;48346:23;48342:33;48387:2;48384:22;;;48402:1;48399;48392:12;48384:22;-1:-1:-1;48451:2:132;48445:9;48463:32;48445:9;48463:32;:::i;:::-;48523:9;48517:16;48542:30;48566:5;48542:30;:::i;:::-;48581:21;;48647:2;48632:18;;48626:25;48660:32;48626:25;48660:32;:::i;:::-;48720:2;48708:15;;48701:32;48766:47;48809:2;48794:18;;48766:47;:::i;:::-;48761:2;48753:6;48749:15;48742:72;48859:2;48848:9;48844:18;48838:25;48872:30;48894:7;48872:30;:::i;:::-;48930:2;48918:15;;48911:32;48988:3;48973:19;;48967:26;49002:32;48967:26;49002:32;:::i;:::-;49062:3;49050:16;;49043:33;49142:3;49127:19;;;49121:26;49163:16;;;49156:33;;;;-1:-1:-1;49054:6:132;48213:1007;-1:-1:-1;48213:1007:132:o;51001:263::-;51176:3;51201:57;51227:30;51253:3;51245:6;51227:30;:::i;51269:589::-;51543:3;51532:9;51525:22;51506:4;51564:57;51616:3;51605:9;51601:19;51593:6;51564:57;:::i;:::-;51556:65;;51671:6;51668:1;51657:21;51652:2;51641:9;51637:18;51630:49;51688:51;51735:2;51724:9;51720:18;51712:6;51688:51;:::i;:::-;-1:-1:-1;;;;;51775:32:132;;;;51770:2;51755:18;;51748:60;51839:3;51824:19;51817:35;51269:589;;-1:-1:-1;;;51269:589:132:o;51863:704::-;52202:10;52197:3;52193:20;52185:6;52181:33;52170:9;52163:52;52251:3;52246:2;52235:9;52231:18;52224:31;52144:4;52272:57;52324:3;52313:9;52309:19;52301:6;52272:57;:::i;:::-;52264:65;;52379:6;52376:1;52365:21;52360:2;52349:9;52345:18;52338:49;52396:51;52443:2;52432:9;52428:18;52420:6;52396:51;:::i;:::-;-1:-1:-1;;;;;52484:32:132;;;;52478:3;52463:19;;52456:61;52504:3;52533:19;52526:35;51863:704;;-1:-1:-1;;;;51863:704:132:o;52572:524::-;52892:10;52887:3;52883:20;52875:6;52871:33;52860:9;52853:52;52941:3;52936:2;52925:9;52921:18;52914:31;52834:4;52962:57;53014:3;53003:9;52999:19;52991:6;52962:57;:::i;:::-;52954:65;;53028:62;53086:2;53075:9;53071:18;53063:6;53028:62;:::i;53816:135::-;53855:3;53876:17;;;53873:43;;53896:18;;:::i;:::-;-1:-1:-1;53943:1:132;53932:13;;53816:135::o;53956:125::-;54021:9;;;54042:10;;;54039:36;;;54055:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"./WitPriceFeedsV3.sol\";\r\nimport \"../patterns/Upgradeable.sol\";\r\n\r\n/// @title WitPriceFeedsUpgradable: On-demand Price Feeds registry for EVM-compatible L1/L2 chains, \r\n/// natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price \r\n/// updates from other on-chain price-feed oracles too, if required.\r\n/// \r\n/// Price feeds purely relying on the Wit/Oracle present some advantanges, though:\r\n/// - Anyone can permissionless pull and report price updates on-chain.\r\n/// - Updating the price requires paying no extra \"update fees\".\r\n/// - Prices can be extracted from independent and highly reputed exchanges and data providers.\r\n/// - Actual data sources for each price feed can be introspected on-chain.\r\n/// - Data source traceability in the Wit/Oracle blockchain is possible for every single price update.\r\n///\r\n/// Instances of this contract may also provide support for \"routed price feeds\" (computed as the \r\n/// product or mean average of up to other 8 different price feeds), as well as \"cascade price feeds\" \r\n/// (where multiple oracles could be used as backup when preferred ones don't manage to provide \r\n/// fresh enough updates for whatever reason).\r\n///\r\n/// Last but not least, this contract allows simple plug-and-play integration from \r\n/// smart contracts, dapps and DeFi projects currently adapted to operate with\r\n/// other price feed solutions, like Chainlink, or Pyth. \r\n///\r\n/// @author Guillermo Díaz <guillermo@witnet.io>\r\n\r\ncontract WitPriceFeedsUpgradable\r\n    is\r\n        Upgradeable,\r\n        WitPriceFeedsV3\r\n{\r\n    bytes32 internal immutable __VERSION;\r\n\r\n    function class() virtual override public pure returns (string memory) {\r\n        return type(WitPriceFeedsUpgradable).name;\r\n    }\r\n\r\n    constructor(\r\n            address _witOracle,\r\n            bytes32 _versionTag,\r\n            bool _upgradable\r\n        )\r\n        Upgradeable(_upgradable)\r\n        WitPriceFeedsV3(_witOracle, msg.sender)\r\n    {\r\n        __VERSION = _versionTag;\r\n        proxiableUUID = keccak256(bytes(\"io.witnet.pricefeeds.v3\"));\r\n    }\r\n\r\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\r\n    /* solhint-disable no-complex-fallback */\r\n    fallback() virtual external { \r\n        _revert(string(abi.encodePacked(\r\n            \"not implemented: 0x\",\r\n            _toHexString(uint8(bytes1(msg.sig))),\r\n            _toHexString(uint8(bytes1(msg.sig << 8))),\r\n            _toHexString(uint8(bytes1(msg.sig << 16))),\r\n            _toHexString(uint8(bytes1(msg.sig << 24)))\r\n        )));\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- Clonable2 -------------------------------------------------------------------------------------------------\r\n\r\n    function cloned() \r\n        virtual override \r\n        public view \r\n        returns (bool)\r\n    {\r\n        return (\r\n            !super.cloned()\r\n                && address(this) != __proxiable().proxy\r\n        );\r\n    }\r\n\r\n    function target()\r\n        virtual override\r\n        public view\r\n        returns (address)\r\n    {\r\n        return (__proxiable().proxy != address(0)\r\n            ? __proxiable().proxy \r\n            : __SELF\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\r\n\r\n    /// @dev Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.\r\n    ///      If implemented as an Upgradeable touch, upgrading this contract to another one with a different \r\n    ///      `proxiableUUID()` value should fail.\r\n    bytes32 public immutable override proxiableUUID;\r\n\r\n    \r\n    // ================================================================================================================\r\n    // --- Overrides 'Upgradeable' ------------------------------------------------------------------------------------\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    /// @dev Must fail when trying to upgrade to same logic contract more than once.\r\n    function initialize(bytes memory _initData) virtual override public {\r\n        address _owner = owner();\r\n        if (_owner == address(0)) {\r\n            // upon first upgrade, extract decode owner address from _intidata\r\n            (_owner, _initData) = abi.decode(_initData, (address, bytes));\r\n            _transferOwnership(_owner);\r\n        \r\n        } else {\r\n            // only owner can initialize an existing proxy:\r\n            require(msg.sender == _owner, \"not the owner\");\r\n        }\r\n        __initializeUpgradableData(_initData);\r\n        if (\r\n            __proxiable().codehash != bytes32(0)\r\n                && __proxiable().codehash == codehash()\r\n        ) {\r\n            revert(\"already initialized codehash\");\r\n        }\r\n        __proxiable().codehash = codehash();\r\n        emit Upgraded(owner(), base(), codehash(), version());\r\n    }\r\n\r\n\r\n    /// Tells whether provided address could eventually upgrade the contract.\r\n    function isUpgradableFrom(address _from) \r\n        virtual override\r\n        external view  \r\n        notOnClones \r\n        returns (bool)\r\n    {\r\n        return (\r\n            // false if the WRB is intrinsically not upgradable, or `_from` is no owner\r\n            isUpgradable()\r\n                && owner() == _from\r\n        );\r\n    }\r\n\r\n    function version() public view virtual override returns (string memory) {\r\n        return _toString(__VERSION);\r\n    }\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    function __initializeUpgradableData(bytes memory)\r\n        virtual override \r\n        notOnClones\r\n        internal\r\n    {\r\n        if (\r\n            __proxiable().codehash == bytes32(0)\r\n                || !_validateUpdateConditions(__storage().defaultUpdateConditions)\r\n        ) {\r\n            __storage().defaultUpdateConditions = IWitPriceFeeds.UpdateConditions({\r\n                callbackGas: 1_000_000,\r\n                computeEma: false,\r\n                cooldownSecs: 15 minutes,\r\n                heartbeatSecs: 1 days,\r\n                maxDeviation1000: 250, // 25.0 %\r\n                minWitnesses: 3\r\n            });\r\n        }\r\n    }\r\n\r\n    function _toHexString(uint8 _u)\r\n        private pure\r\n        returns (string memory)\r\n    {\r\n        bytes memory b2 = new bytes(2);\r\n        uint8 d0 = uint8(_u / 16) + 48;\r\n        uint8 d1 = uint8(_u % 16) + 48;\r\n        if (d0 > 57)\r\n            d0 += 7;\r\n        if (d1 > 57)\r\n            d1 += 7;\r\n        b2[0] = bytes1(d0);\r\n        b2[1] = bytes1(d1);\r\n        return string(b2);\r\n    }\r\n    \r\n    /// Converts bytes32 into string.\r\n    function _toString(bytes32 _bytes32)\r\n        internal pure\r\n        returns (string memory)\r\n    {\r\n        bytes memory _bytes = new bytes(_toStringLength(_bytes32));\r\n        for (uint _i = 0; _i < _bytes.length;) {\r\n            _bytes[_i] = _bytes32[_i];\r\n            unchecked {\r\n                _i ++;\r\n            }\r\n        }\r\n        return string(_bytes);\r\n    }\r\n\r\n    // Calculate length of string-equivalent to given bytes32.\r\n    function _toStringLength(bytes32 _bytes32)\r\n        internal pure\r\n        returns (uint _length)\r\n    {\r\n        for (; _length < 32; ) {\r\n            if (_bytes32[_length] == 0) {\r\n                break;\r\n            }\r\n            unchecked {\r\n                _length ++;\r\n            }\r\n        }\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\apps\\WitPriceFeedsUpgradable.sol",
  "ast": {
    "absolutePath": "project:/contracts/apps/WitPriceFeedsUpgradable.sol",
    "exportedSymbols": {
      "Bech32": [
        28803
      ],
      "Clonable2": [
        43187
      ],
      "Context": [
        523
      ],
      "ERC165": [
        616
      ],
      "IChainlinkAggregatorV3": [
        25996
      ],
      "IERC165": [
        628
      ],
      "IERC2362": [
        644
      ],
      "IPythChainlinkAggregatorV3": [
        26013
      ],
      "IWitAppliance": [
        24076
      ],
      "IWitOracle": [
        24141
      ],
      "IWitOracleAppliance": [
        24153
      ],
      "IWitOracleConsumer": [
        24166
      ],
      "IWitOracleQueriable": [
        24352
      ],
      "IWitOracleRadonRegistry": [
        24951
      ],
      "IWitPriceFeeds": [
        25476
      ],
      "IWitPriceFeedsAdmin": [
        25644
      ],
      "IWitPriceFeedsConsumer": [
        25681
      ],
      "IWitPriceFeedsMappingSolver": [
        25714
      ],
      "IWitPyth": [
        27074
      ],
      "IWitPythChainlinkAggregator": [
        27095
      ],
      "IWitPythErrors": [
        27128
      ],
      "IWitPythEvents": [
        27142
      ],
      "Initializable": [
        267
      ],
      "Ownable": [
        415
      ],
      "Ownable2Step": [
        43378
      ],
      "Proxiable": [
        43479
      ],
      "Secp256k1": [
        29966
      ],
      "Slices": [
        31797
      ],
      "Upgradeable": [
        43599
      ],
      "WitPriceFeeds": [
        790
      ],
      "WitPriceFeedsDataLib": [
        22673
      ],
      "WitPriceFeedsUpgradable": [
        3070
      ],
      "WitPriceFeedsV3": [
        5069
      ],
      "WitPythChainlinkAggregator": [
        42235
      ],
      "Witnet": [
        38171
      ],
      "WitnetBuffer": [
        40061
      ],
      "WitnetCBOR": [
        41604
      ]
    },
    "id": 3071,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2597,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:31:17"
      },
      {
        "absolutePath": "project:/contracts/apps/WitPriceFeedsV3.sol",
        "file": "./WitPriceFeedsV3.sol",
        "id": 2598,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3071,
        "sourceUnit": 5070,
        "src": "68:31:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Upgradeable.sol",
        "file": "../patterns/Upgradeable.sol",
        "id": 2599,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 3071,
        "sourceUnit": 43600,
        "src": "101:37:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 2601,
              "name": "Upgradeable",
              "nameLocations": [
                "1603:11:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 43599,
              "src": "1603:11:17"
            },
            "id": 2602,
            "nodeType": "InheritanceSpecifier",
            "src": "1603:11:17"
          },
          {
            "baseName": {
              "id": 2603,
              "name": "WitPriceFeedsV3",
              "nameLocations": [
                "1625:15:17"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 5069,
              "src": "1625:15:17"
            },
            "id": 2604,
            "nodeType": "InheritanceSpecifier",
            "src": "1625:15:17"
          }
        ],
        "canonicalName": "WitPriceFeedsUpgradable",
        "contractDependencies": [
          42235
        ],
        "contractKind": "contract",
        "documentation": {
          "id": 2600,
          "nodeType": "StructuredDocumentation",
          "src": "142:1409:17",
          "text": "@title WitPriceFeedsUpgradable: On-demand Price Feeds registry for EVM-compatible L1/L2 chains, \n natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price \n updates from other on-chain price-feed oracles too, if required.\n \n Price feeds purely relying on the Wit/Oracle present some advantanges, though:\n - Anyone can permissionless pull and report price updates on-chain.\n - Updating the price requires paying no extra \"update fees\".\n - Prices can be extracted from independent and highly reputed exchanges and data providers.\n - Actual data sources for each price feed can be introspected on-chain.\n - Data source traceability in the Wit/Oracle blockchain is possible for every single price update.\n Instances of this contract may also provide support for \"routed price feeds\" (computed as the \n product or mean average of up to other 8 different price feeds), as well as \"cascade price feeds\" \n (where multiple oracles could be used as backup when preferred ones don't manage to provide \n fresh enough updates for whatever reason).\n Last but not least, this contract allows simple plug-and-play integration from \n smart contracts, dapps and DeFi projects currently adapted to operate with\n other price feed solutions, like Chainlink, or Pyth. \n @author Guillermo Díaz <guillermo@witnet.io>"
        },
        "fullyImplemented": true,
        "id": 3070,
        "linearizedBaseContracts": [
          3070,
          5069,
          790,
          27074,
          27142,
          27128,
          25644,
          25476,
          24166,
          24153,
          24076,
          644,
          43378,
          415,
          523,
          43187,
          43599,
          43479,
          267
        ],
        "name": "WitPriceFeedsUpgradable",
        "nameLocation": "1562:23:17",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2606,
            "mutability": "immutable",
            "name": "__VERSION",
            "nameLocation": "1676:9:17",
            "nodeType": "VariableDeclaration",
            "scope": 3070,
            "src": "1649:36:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 2605,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "1649:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              3134
            ],
            "body": {
              "id": 2617,
              "nodeType": "Block",
              "src": "1764:60:17",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 2613,
                          "name": "WitPriceFeedsUpgradable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3070,
                          "src": "1787:23:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsUpgradable_$3070_$",
                            "typeString": "type(contract WitPriceFeedsUpgradable)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsUpgradable_$3070_$",
                            "typeString": "type(contract WitPriceFeedsUpgradable)"
                          }
                        ],
                        "id": 2612,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "1782:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 2614,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1782:29:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitPriceFeedsUpgradable_$3070",
                        "typeString": "type(contract WitPriceFeedsUpgradable)"
                      }
                    },
                    "id": 2615,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "1812:4:17",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "1782:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 2611,
                  "id": 2616,
                  "nodeType": "Return",
                  "src": "1775:41:17"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 2618,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "1703:5:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2608,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1719:8:17"
            },
            "parameters": {
              "id": 2607,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1708:2:17"
            },
            "returnParameters": {
              "id": 2611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2610,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2618,
                  "src": "1749:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2609,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1749:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1748:15:17"
            },
            "scope": 3070,
            "src": "1694:130:17",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2648,
              "nodeType": "Block",
              "src": "2041:112:17",
              "statements": [
                {
                  "expression": {
                    "id": 2637,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 2635,
                      "name": "__VERSION",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2606,
                      "src": "2052:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 2636,
                      "name": "_versionTag",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2622,
                      "src": "2064:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2052:23:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 2638,
                  "nodeType": "ExpressionStatement",
                  "src": "2052:23:17"
                },
                {
                  "expression": {
                    "id": 2646,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 2639,
                      "name": "proxiableUUID",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2759,
                      "src": "2086:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "696f2e7769746e65742e707269636566656564732e7633",
                              "id": 2643,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2118:25:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d",
                                "typeString": "literal_string \"io.witnet.pricefeeds.v3\""
                              },
                              "value": "io.witnet.pricefeeds.v3"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d",
                                "typeString": "literal_string \"io.witnet.pricefeeds.v3\""
                              }
                            ],
                            "id": 2642,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2112:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                              "typeString": "type(bytes storage pointer)"
                            },
                            "typeName": {
                              "id": 2641,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "2112:5:17",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 2644,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2112:32:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 2640,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967288,
                        "src": "2102:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 2645,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2102:43:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2086:59:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 2647,
                  "nodeType": "ExpressionStatement",
                  "src": "2086:59:17"
                }
              ]
            },
            "id": 2649,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 2627,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2624,
                    "src": "1974:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  }
                ],
                "id": 2628,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2626,
                  "name": "Upgradeable",
                  "nameLocations": [
                    "1962:11:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 43599,
                  "src": "1962:11:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "1962:24:17"
              },
              {
                "arguments": [
                  {
                    "id": 2630,
                    "name": "_witOracle",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2620,
                    "src": "2012:10:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "expression": {
                      "id": 2631,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967281,
                      "src": "2024:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 2632,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2028:6:17",
                    "memberName": "sender",
                    "nodeType": "MemberAccess",
                    "src": "2024:10:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 2633,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2629,
                  "name": "WitPriceFeedsV3",
                  "nameLocations": [
                    "1996:15:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5069,
                  "src": "1996:15:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "1996:39:17"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2625,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2620,
                  "mutability": "mutable",
                  "name": "_witOracle",
                  "nameLocation": "1866:10:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2649,
                  "src": "1858:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2619,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1858:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2622,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1899:11:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2649,
                  "src": "1891:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2621,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1891:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2624,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1930:11:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2649,
                  "src": "1925:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2623,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1925:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1843:109:17"
            },
            "returnParameters": {
              "id": 2634,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2041:0:17"
            },
            "scope": 3070,
            "src": "1832:321:17",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2709,
              "nodeType": "Block",
              "src": "2303:321:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "hexValue": "6e6f7420696d706c656d656e7465643a203078",
                                "id": 2658,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2361:21:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb",
                                  "typeString": "literal_string \"not implemented: 0x\""
                                },
                                "value": "not implemented: 0x"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "id": 2664,
                                              "name": "msg",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4294967281,
                                              "src": "2423:3:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                              }
                                            },
                                            "id": 2665,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "2427:3:17",
                                            "memberName": "sig",
                                            "nodeType": "MemberAccess",
                                            "src": "2423:7:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 2663,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "2416:6:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 2662,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "2416:6:17",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 2666,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2416:15:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 2661,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2410:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 2660,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2410:5:17",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 2667,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2410:22:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 2659,
                                  "name": "_toHexString",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2999,
                                  "src": "2397:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_string_memory_ptr_$",
                                    "typeString": "function (uint8) pure returns (string memory)"
                                  }
                                },
                                "id": 2668,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2397:36:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "commonType": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            },
                                            "id": 2677,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "expression": {
                                                "id": 2674,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 4294967281,
                                                "src": "2474:3:17",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_magic_message",
                                                  "typeString": "msg"
                                                }
                                              },
                                              "id": 2675,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "2478:3:17",
                                              "memberName": "sig",
                                              "nodeType": "MemberAccess",
                                              "src": "2474:7:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "<<",
                                            "rightExpression": {
                                              "hexValue": "38",
                                              "id": 2676,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "2485:1:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_8_by_1",
                                                "typeString": "int_const 8"
                                              },
                                              "value": "8"
                                            },
                                            "src": "2474:12:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 2673,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "2467:6:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 2672,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "2467:6:17",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 2678,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2467:20:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 2671,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2461:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 2670,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2461:5:17",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 2679,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2461:27:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 2669,
                                  "name": "_toHexString",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2999,
                                  "src": "2448:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_string_memory_ptr_$",
                                    "typeString": "function (uint8) pure returns (string memory)"
                                  }
                                },
                                "id": 2680,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2448:41:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "commonType": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            },
                                            "id": 2689,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "expression": {
                                                "id": 2686,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 4294967281,
                                                "src": "2530:3:17",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_magic_message",
                                                  "typeString": "msg"
                                                }
                                              },
                                              "id": 2687,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "2534:3:17",
                                              "memberName": "sig",
                                              "nodeType": "MemberAccess",
                                              "src": "2530:7:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "<<",
                                            "rightExpression": {
                                              "hexValue": "3136",
                                              "id": 2688,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "2541:2:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_16_by_1",
                                                "typeString": "int_const 16"
                                              },
                                              "value": "16"
                                            },
                                            "src": "2530:13:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 2685,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "2523:6:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 2684,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "2523:6:17",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 2690,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2523:21:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 2683,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2517:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 2682,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2517:5:17",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 2691,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2517:28:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 2681,
                                  "name": "_toHexString",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2999,
                                  "src": "2504:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_string_memory_ptr_$",
                                    "typeString": "function (uint8) pure returns (string memory)"
                                  }
                                },
                                "id": 2692,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2504:42:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "commonType": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            },
                                            "id": 2701,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "expression": {
                                                "id": 2698,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 4294967281,
                                                "src": "2587:3:17",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_magic_message",
                                                  "typeString": "msg"
                                                }
                                              },
                                              "id": 2699,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "2591:3:17",
                                              "memberName": "sig",
                                              "nodeType": "MemberAccess",
                                              "src": "2587:7:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "<<",
                                            "rightExpression": {
                                              "hexValue": "3234",
                                              "id": 2700,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "2598:2:17",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_24_by_1",
                                                "typeString": "int_const 24"
                                              },
                                              "value": "24"
                                            },
                                            "src": "2587:13:17",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 2697,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "2580:6:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 2696,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "2580:6:17",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 2702,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2580:21:17",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 2695,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2574:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 2694,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2574:5:17",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 2703,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2574:28:17",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 2693,
                                  "name": "_toHexString",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2999,
                                  "src": "2561:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_string_memory_ptr_$",
                                    "typeString": "function (uint8) pure returns (string memory)"
                                  }
                                },
                                "id": 2704,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2561:42:17",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb",
                                  "typeString": "literal_string \"not implemented: 0x\""
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 2656,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "2330:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 2657,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "2334:12:17",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "2330:16:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 2705,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2330:284:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 2655,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2323:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                            "typeString": "type(string storage pointer)"
                          },
                          "typeName": {
                            "id": 2654,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "2323:6:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2706,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2323:292:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2653,
                      "name": "_revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 24075,
                      "src": "2315:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) view"
                      }
                    },
                    "id": 2707,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2315:301:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2708,
                  "nodeType": "ExpressionStatement",
                  "src": "2315:301:17"
                }
              ]
            },
            "documentation": {
              "id": 2650,
              "nodeType": "StructuredDocumentation",
              "src": "2161:61:17",
              "text": "@dev Reverts if proxy delegatecalls to unexistent method."
            },
            "id": 2710,
            "implemented": true,
            "kind": "fallback",
            "modifiers": [],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2651,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2283:2:17"
            },
            "returnParameters": {
              "id": 2652,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2303:0:17"
            },
            "scope": 3070,
            "src": "2275:349:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              43030
            ],
            "body": {
              "id": 2732,
              "nodeType": "Block",
              "src": "2975:124:17",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 2720,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "3008:15:17",
                          "subExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 2717,
                                "name": "super",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967271,
                                "src": "3009:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_super$_WitPriceFeedsUpgradable_$3070_$",
                                  "typeString": "type(contract super WitPriceFeedsUpgradable)"
                                }
                              },
                              "id": 2718,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3015:6:17",
                              "memberName": "cloned",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43030,
                              "src": "3009:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                "typeString": "function () view returns (bool)"
                              }
                            },
                            "id": 2719,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3009:14:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2728,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 2723,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967268,
                                "src": "3052:4:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradable_$3070",
                                  "typeString": "contract WitPriceFeedsUpgradable"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradable_$3070",
                                  "typeString": "contract WitPriceFeedsUpgradable"
                                }
                              ],
                              "id": 2722,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "3044:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 2721,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "3044:7:17",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2724,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3044:13:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 2725,
                                "name": "__proxiable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43478,
                                "src": "3061:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                                  "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                                }
                              },
                              "id": 2726,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3061:13:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                                "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                              }
                            },
                            "id": 2727,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3075:5:17",
                            "memberName": "proxy",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 43447,
                            "src": "3061:19:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3044:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "3008:72:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 2730,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "2993:98:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 2716,
                  "id": 2731,
                  "nodeType": "Return",
                  "src": "2986:105:17"
                }
              ]
            },
            "documentation": {
              "id": 2711,
              "nodeType": "StructuredDocumentation",
              "src": "2634:238:17",
              "text": "===============================================================================================================\n --- Clonable2 -------------------------------------------------------------------------------------------------"
            },
            "functionSelector": "a04daef0",
            "id": 2733,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "cloned",
            "nameLocation": "2887:6:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2713,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2914:8:17"
            },
            "parameters": {
              "id": 2712,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2893:2:17"
            },
            "returnParameters": {
              "id": 2716,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2715,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2733,
                  "src": "2964:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2714,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2964:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2963:6:17"
            },
            "scope": 3070,
            "src": "2878:221:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              3691
            ],
            "body": {
              "id": 2754,
              "nodeType": "Block",
              "src": "3204:129:17",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2746,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 2739,
                                "name": "__proxiable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43478,
                                "src": "3223:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                                  "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                                }
                              },
                              "id": 2740,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3223:13:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                                "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                              }
                            },
                            "id": 2741,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3237:5:17",
                            "memberName": "proxy",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 43447,
                            "src": "3223:19:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 2744,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3254:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 2743,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "3246:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 2742,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "3246:7:17",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 2745,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3246:10:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3223:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "id": 2750,
                          "name": "__SELF",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 42967,
                          "src": "3308:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2751,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "3223:91:17",
                        "trueExpression": {
                          "expression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2747,
                              "name": "__proxiable",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 43478,
                              "src": "3272:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                                "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                              }
                            },
                            "id": 2748,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3272:13:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                              "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                            }
                          },
                          "id": 2749,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3286:5:17",
                          "memberName": "proxy",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43447,
                          "src": "3272:19:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "id": 2752,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "3222:103:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 2738,
                  "id": 2753,
                  "nodeType": "Return",
                  "src": "3215:110:17"
                }
              ]
            },
            "functionSelector": "d4b83992",
            "id": 2755,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "target",
            "nameLocation": "3116:6:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2735,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3142:8:17"
            },
            "parameters": {
              "id": 2734,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3122:2:17"
            },
            "returnParameters": {
              "id": 2738,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2737,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2755,
                  "src": "3190:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2736,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3190:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3189:9:17"
            },
            "scope": 3070,
            "src": "3107:226:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              43443
            ],
            "constant": false,
            "documentation": {
              "id": 2756,
              "nodeType": "StructuredDocumentation",
              "src": "3587:276:17",
              "text": "@dev Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.\n      If implemented as an Upgradeable touch, upgrading this contract to another one with a different \n      `proxiableUUID()` value should fail."
            },
            "functionSelector": "52d1902d",
            "id": 2759,
            "mutability": "immutable",
            "name": "proxiableUUID",
            "nameLocation": "3903:13:17",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 2758,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3894:8:17"
            },
            "scope": 3070,
            "src": "3869:47:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 2757,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3869:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "baseFunctions": [
              43587
            ],
            "body": {
              "id": 2849,
              "nodeType": "Block",
              "src": "4420:794:17",
              "statements": [
                {
                  "assignments": [
                    2767
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2767,
                      "mutability": "mutable",
                      "name": "_owner",
                      "nameLocation": "4439:6:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "4431:14:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2766,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "4431:7:17",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2770,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 2768,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4034
                      ],
                      "referencedDeclaration": 4034,
                      "src": "4448:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 2769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4448:7:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4431:24:17"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 2776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 2771,
                      "name": "_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2767,
                      "src": "4470:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 2774,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4488:1:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 2773,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "4480:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 2772,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "4480:7:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2775,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4480:10:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4470:20:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 2804,
                    "nodeType": "Block",
                    "src": "4717:134:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 2800,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 2797,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "4801:3:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 2798,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "4805:6:17",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "4801:10:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "id": 2799,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2767,
                                "src": "4815:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "4801:20:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "6e6f7420746865206f776e6572",
                              "id": 2801,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4823:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219",
                                "typeString": "literal_string \"not the owner\""
                              },
                              "value": "not the owner"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219",
                                "typeString": "literal_string \"not the owner\""
                              }
                            ],
                            "id": 2796,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "4793:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 2802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4793:46:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2803,
                        "nodeType": "ExpressionStatement",
                        "src": "4793:46:17"
                      }
                    ]
                  },
                  "id": 2805,
                  "nodeType": "IfStatement",
                  "src": "4466:385:17",
                  "trueBody": {
                    "id": 2795,
                    "nodeType": "Block",
                    "src": "4492:219:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 2789,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "components": [
                              {
                                "id": 2777,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2767,
                                "src": "4588:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "id": 2778,
                                "name": "_initData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2762,
                                "src": "4596:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "id": 2779,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "4587:19:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_address_$_t_bytes_memory_ptr_$",
                              "typeString": "tuple(address,bytes memory)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 2782,
                                "name": "_initData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2762,
                                "src": "4620:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 2784,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "4632:7:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 2783,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "4632:7:17",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  {
                                    "id": 2786,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "4641:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                      "typeString": "type(bytes storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 2785,
                                      "name": "bytes",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "4641:5:17",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 2787,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "4631:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$",
                                  "typeString": "tuple(type(address),type(bytes storage pointer))"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_tuple$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$",
                                  "typeString": "tuple(type(address),type(bytes storage pointer))"
                                }
                              ],
                              "expression": {
                                "id": 2780,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "4609:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 2781,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "4613:6:17",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "4609:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 2788,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4609:39:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_address_payable_$_t_bytes_memory_ptr_$",
                              "typeString": "tuple(address payable,bytes memory)"
                            }
                          },
                          "src": "4587:61:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2790,
                        "nodeType": "ExpressionStatement",
                        "src": "4587:61:17"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 2792,
                              "name": "_owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2767,
                              "src": "4682:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 2791,
                            "name": "_transferOwnership",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              43353
                            ],
                            "referencedDeclaration": 43353,
                            "src": "4663:18:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                              "typeString": "function (address)"
                            }
                          },
                          "id": 2793,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4663:26:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2794,
                        "nodeType": "ExpressionStatement",
                        "src": "4663:26:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2807,
                        "name": "_initData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2762,
                        "src": "4888:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 2806,
                      "name": "__initializeUpgradableData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        2923
                      ],
                      "referencedDeclaration": 2923,
                      "src": "4861:26:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (bytes memory)"
                      }
                    },
                    "id": 2808,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4861:37:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2809,
                  "nodeType": "ExpressionStatement",
                  "src": "4861:37:17"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 2824,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 2817,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 2810,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43478,
                            "src": "4927:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 2811,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4927:13:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 2812,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4941:8:17",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43449,
                        "src": "4927:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 2815,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4961:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 2814,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "4953:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes32_$",
                            "typeString": "type(bytes32)"
                          },
                          "typeName": {
                            "id": 2813,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "4953:7:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2816,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4953:10:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "4927:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 2823,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 2818,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43478,
                            "src": "4984:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 2819,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4984:13:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 2820,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4998:8:17",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43449,
                        "src": "4984:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2821,
                          "name": "codehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 43564,
                          "src": "5010:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view returns (bytes32)"
                          }
                        },
                        "id": 2822,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5010:10:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "4984:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "4927:93:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2830,
                  "nodeType": "IfStatement",
                  "src": "4909:188:17",
                  "trueBody": {
                    "id": 2829,
                    "nodeType": "Block",
                    "src": "5032:65:17",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "616c726561647920696e697469616c697a656420636f646568617368",
                              "id": 2826,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5054:30:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828",
                                "typeString": "literal_string \"already initialized codehash\""
                              },
                              "value": "already initialized codehash"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_2fec99da940de01442f04e8e6acba4c96a17df465177343b4e755fdcd1280828",
                                "typeString": "literal_string \"already initialized codehash\""
                              }
                            ],
                            "id": 2825,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "5047:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 2827,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5047:38:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 2828,
                        "nodeType": "ExpressionStatement",
                        "src": "5047:38:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 2836,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2831,
                          "name": "__proxiable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 43478,
                          "src": "5107:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                            "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                          }
                        },
                        "id": 2832,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5107:13:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                          "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                        }
                      },
                      "id": 2833,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "5121:8:17",
                      "memberName": "codehash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43449,
                      "src": "5107:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 2834,
                        "name": "codehash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43564,
                        "src": "5132:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view returns (bytes32)"
                        }
                      },
                      "id": 2835,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5132:10:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "5107:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 2837,
                  "nodeType": "ExpressionStatement",
                  "src": "5107:35:17"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2839,
                          "name": "owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            4034
                          ],
                          "referencedDeclaration": 4034,
                          "src": "5167:5:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 2840,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5167:7:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2841,
                          "name": "base",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 43552,
                          "src": "5176:4:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 2842,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5176:6:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2843,
                          "name": "codehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 43564,
                          "src": "5184:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view returns (bytes32)"
                          }
                        },
                        "id": 2844,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5184:10:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 2845,
                          "name": "version",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            2882
                          ],
                          "referencedDeclaration": 2882,
                          "src": "5196:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
                            "typeString": "function () view returns (string memory)"
                          }
                        },
                        "id": 2846,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5196:9:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2838,
                      "name": "Upgraded",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 43522,
                      "src": "5158:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,address,bytes32,string memory)"
                      }
                    },
                    "id": 2847,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5158:48:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2848,
                  "nodeType": "EmitStatement",
                  "src": "5153:53:17"
                }
              ]
            },
            "documentation": {
              "id": 2760,
              "nodeType": "StructuredDocumentation",
              "src": "4175:171:17",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy.\n @dev Must fail when trying to upgrade to same logic contract more than once."
            },
            "functionSelector": "439fab91",
            "id": 2850,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "initialize",
            "nameLocation": "4361:10:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2764,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4404:8:17"
            },
            "parameters": {
              "id": 2763,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2762,
                  "mutability": "mutable",
                  "name": "_initData",
                  "nameLocation": "4385:9:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2850,
                  "src": "4372:22:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 2761,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4372:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4371:24:17"
            },
            "returnParameters": {
              "id": 2765,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4420:0:17"
            },
            "scope": 3070,
            "src": "4352:862:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              43581
            ],
            "body": {
              "id": 2870,
              "nodeType": "Block",
              "src": "5447:192:17",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2867,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 2861,
                            "name": "isUpgradable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43573,
                            "src": "5569:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                              "typeString": "function () view returns (bool)"
                            }
                          },
                          "id": 2862,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5569:14:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 2866,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 2863,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4034
                              ],
                              "referencedDeclaration": 4034,
                              "src": "5604:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                "typeString": "function () view returns (address)"
                              }
                            },
                            "id": 2864,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5604:7:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "id": 2865,
                            "name": "_from",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2853,
                            "src": "5615:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "5604:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5569:51:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 2868,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "5465:166:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 2860,
                  "id": 2869,
                  "nodeType": "Return",
                  "src": "5458:173:17"
                }
              ]
            },
            "documentation": {
              "id": 2851,
              "nodeType": "StructuredDocumentation",
              "src": "5224:73:17",
              "text": "Tells whether provided address could eventually upgrade the contract."
            },
            "functionSelector": "6b58960a",
            "id": 2871,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 2857,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 2856,
                  "name": "notOnClones",
                  "nameLocations": [
                    "5405:11:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 42996,
                  "src": "5405:11:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "5405:11:17"
              }
            ],
            "name": "isUpgradableFrom",
            "nameLocation": "5312:16:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2855,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5362:8:17"
            },
            "parameters": {
              "id": 2854,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2853,
                  "mutability": "mutable",
                  "name": "_from",
                  "nameLocation": "5337:5:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2871,
                  "src": "5329:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2852,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5329:7:17",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5328:15:17"
            },
            "returnParameters": {
              "id": 2860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2859,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2871,
                  "src": "5436:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2858,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5436:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5435:6:17"
            },
            "scope": 3070,
            "src": "5303:336:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              43598
            ],
            "body": {
              "id": 2881,
              "nodeType": "Block",
              "src": "5719:46:17",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2878,
                        "name": "__VERSION",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2606,
                        "src": "5747:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 2877,
                      "name": "_toString",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3044,
                      "src": "5737:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (bytes32) pure returns (string memory)"
                      }
                    },
                    "id": 2879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5737:20:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 2876,
                  "id": 2880,
                  "nodeType": "Return",
                  "src": "5730:27:17"
                }
              ]
            },
            "functionSelector": "54fd4d50",
            "id": 2882,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "version",
            "nameLocation": "5656:7:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2873,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5686:8:17"
            },
            "parameters": {
              "id": 2872,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5663:2:17"
            },
            "returnParameters": {
              "id": 2876,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2875,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2882,
                  "src": "5704:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2874,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5704:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5703:15:17"
            },
            "scope": 3070,
            "src": "5647:118:17",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              43592
            ],
            "body": {
              "id": 2922,
              "nodeType": "Block",
              "src": "5985:525:17",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 2905,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 2898,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 2891,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43478,
                            "src": "6014:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$43450_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 2892,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6014:13:17",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$43450_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 2893,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6028:8:17",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43449,
                        "src": "6014:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 2896,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6048:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 2895,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6040:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes32_$",
                            "typeString": "type(bytes32)"
                          },
                          "typeName": {
                            "id": 2894,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "6040:7:17",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 2897,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6040:10:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "6014:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "id": 2904,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "6071:63:17",
                      "subExpression": {
                        "arguments": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 2900,
                                "name": "__storage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5068,
                                "src": "6098:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20023_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsDataLib.Storage storage pointer)"
                                }
                              },
                              "id": 2901,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6098:11:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$20023_storage_ptr",
                                "typeString": "struct WitPriceFeedsDataLib.Storage storage pointer"
                              }
                            },
                            "id": 2902,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6110:23:17",
                            "memberName": "defaultUpdateConditions",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 20018,
                            "src": "6098:35:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UpdateConditions_$25342_storage",
                              "typeString": "struct IWitPriceFeeds.UpdateConditions storage ref"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_UpdateConditions_$25342_storage",
                              "typeString": "struct IWitPriceFeeds.UpdateConditions storage ref"
                            }
                          ],
                          "id": 2899,
                          "name": "_validateUpdateConditions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4923,
                          "src": "6072:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_UpdateConditions_$25342_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (struct IWitPriceFeeds.UpdateConditions memory) pure returns (bool)"
                          }
                        },
                        "id": 2903,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6072:62:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6014:120:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2921,
                  "nodeType": "IfStatement",
                  "src": "5996:507:17",
                  "trueBody": {
                    "id": 2920,
                    "nodeType": "Block",
                    "src": "6146:357:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 2918,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 2906,
                                "name": "__storage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5068,
                                "src": "6161:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$20023_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsDataLib.Storage storage pointer)"
                                }
                              },
                              "id": 2907,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6161:11:17",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$20023_storage_ptr",
                                "typeString": "struct WitPriceFeedsDataLib.Storage storage pointer"
                              }
                            },
                            "id": 2908,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "6173:23:17",
                            "memberName": "defaultUpdateConditions",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 20018,
                            "src": "6161:35:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UpdateConditions_$25342_storage",
                              "typeString": "struct IWitPriceFeeds.UpdateConditions storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "hexValue": "315f3030305f303030",
                                "id": 2911,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6263:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1000000_by_1",
                                  "typeString": "int_const 1000000"
                                },
                                "value": "1_000_000"
                              },
                              {
                                "hexValue": "66616c7365",
                                "id": 2912,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6303:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              },
                              {
                                "hexValue": "3135",
                                "id": 2913,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6341:10:17",
                                "subdenomination": "minutes",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_900_by_1",
                                  "typeString": "int_const 900"
                                },
                                "value": "15"
                              },
                              {
                                "hexValue": "31",
                                "id": 2914,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6385:6:17",
                                "subdenomination": "days",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_86400_by_1",
                                  "typeString": "int_const 86400"
                                },
                                "value": "1"
                              },
                              {
                                "hexValue": "323530",
                                "id": 2915,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6428:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_250_by_1",
                                  "typeString": "int_const 250"
                                },
                                "value": "250"
                              },
                              {
                                "hexValue": "33",
                                "id": 2916,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6474:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                },
                                "value": "3"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1000000_by_1",
                                  "typeString": "int_const 1000000"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_rational_900_by_1",
                                  "typeString": "int_const 900"
                                },
                                {
                                  "typeIdentifier": "t_rational_86400_by_1",
                                  "typeString": "int_const 86400"
                                },
                                {
                                  "typeIdentifier": "t_rational_250_by_1",
                                  "typeString": "int_const 250"
                                },
                                {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                }
                              ],
                              "expression": {
                                "id": 2909,
                                "name": "IWitPriceFeeds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25476,
                                "src": "6199:14:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeeds_$25476_$",
                                  "typeString": "type(contract IWitPriceFeeds)"
                                }
                              },
                              "id": 2910,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6214:16:17",
                              "memberName": "UpdateConditions",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25342,
                              "src": "6199:31:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_UpdateConditions_$25342_storage_ptr_$",
                                "typeString": "type(struct IWitPriceFeeds.UpdateConditions storage pointer)"
                              }
                            },
                            "id": 2917,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "6250:11:17",
                              "6291:10:17",
                              "6327:12:17",
                              "6370:13:17",
                              "6410:16:17",
                              "6460:12:17"
                            ],
                            "names": [
                              "callbackGas",
                              "computeEma",
                              "cooldownSecs",
                              "heartbeatSecs",
                              "maxDeviation1000",
                              "minWitnesses"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "6199:292:17",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UpdateConditions_$25342_memory_ptr",
                              "typeString": "struct IWitPriceFeeds.UpdateConditions memory"
                            }
                          },
                          "src": "6161:330:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_UpdateConditions_$25342_storage",
                            "typeString": "struct IWitPriceFeeds.UpdateConditions storage ref"
                          }
                        },
                        "id": 2919,
                        "nodeType": "ExpressionStatement",
                        "src": "6161:330:17"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 2883,
              "nodeType": "StructuredDocumentation",
              "src": "5773:85:17",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy."
            },
            "id": 2923,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 2889,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 2888,
                  "name": "notOnClones",
                  "nameLocations": [
                    "5950:11:17"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 42996,
                  "src": "5950:11:17"
                },
                "nodeType": "ModifierInvocation",
                "src": "5950:11:17"
              }
            ],
            "name": "__initializeUpgradableData",
            "nameLocation": "5873:26:17",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 2887,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5931:8:17"
            },
            "parameters": {
              "id": 2886,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2885,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2923,
                  "src": "5900:12:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 2884,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "5900:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5899:14:17"
            },
            "returnParameters": {
              "id": 2890,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5985:0:17"
            },
            "scope": 3070,
            "src": "5864:646:17",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2998,
              "nodeType": "Block",
              "src": "6610:305:17",
              "statements": [
                {
                  "assignments": [
                    2931
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2931,
                      "mutability": "mutable",
                      "name": "b2",
                      "nameLocation": "6634:2:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2998,
                      "src": "6621:15:17",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 2930,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6621:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2936,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "32",
                        "id": 2934,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6649:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_2_by_1",
                          "typeString": "int_const 2"
                        },
                        "value": "2"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_2_by_1",
                          "typeString": "int_const 2"
                        }
                      ],
                      "id": 2933,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "6639:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 2932,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6643:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 2935,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6639:12:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6621:30:17"
                },
                {
                  "assignments": [
                    2938
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2938,
                      "mutability": "mutable",
                      "name": "d0",
                      "nameLocation": "6668:2:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2998,
                      "src": "6662:8:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "typeName": {
                        "id": 2937,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "6662:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2947,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    },
                    "id": 2946,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          },
                          "id": 2943,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 2941,
                            "name": "_u",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2925,
                            "src": "6679:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "/",
                          "rightExpression": {
                            "hexValue": "3136",
                            "id": 2942,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6684:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_16_by_1",
                              "typeString": "int_const 16"
                            },
                            "value": "16"
                          },
                          "src": "6679:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        ],
                        "id": 2940,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "6673:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint8_$",
                          "typeString": "type(uint8)"
                        },
                        "typeName": {
                          "id": 2939,
                          "name": "uint8",
                          "nodeType": "ElementaryTypeName",
                          "src": "6673:5:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2944,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6673:14:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "hexValue": "3438",
                      "id": 2945,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6690:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_48_by_1",
                        "typeString": "int_const 48"
                      },
                      "value": "48"
                    },
                    "src": "6673:19:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6662:30:17"
                },
                {
                  "assignments": [
                    2949
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2949,
                      "mutability": "mutable",
                      "name": "d1",
                      "nameLocation": "6709:2:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 2998,
                      "src": "6703:8:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "typeName": {
                        "id": 2948,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "6703:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 2958,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    },
                    "id": 2957,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          },
                          "id": 2954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 2952,
                            "name": "_u",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2925,
                            "src": "6720:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "%",
                          "rightExpression": {
                            "hexValue": "3136",
                            "id": 2953,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6725:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_16_by_1",
                              "typeString": "int_const 16"
                            },
                            "value": "16"
                          },
                          "src": "6720:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        ],
                        "id": 2951,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "6714:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint8_$",
                          "typeString": "type(uint8)"
                        },
                        "typeName": {
                          "id": 2950,
                          "name": "uint8",
                          "nodeType": "ElementaryTypeName",
                          "src": "6714:5:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2955,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6714:14:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "hexValue": "3438",
                      "id": 2956,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6731:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_48_by_1",
                        "typeString": "int_const 48"
                      },
                      "value": "48"
                    },
                    "src": "6714:19:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6703:30:17"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    },
                    "id": 2961,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 2959,
                      "name": "d0",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2938,
                      "src": "6748:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "3537",
                      "id": 2960,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6753:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_57_by_1",
                        "typeString": "int_const 57"
                      },
                      "value": "57"
                    },
                    "src": "6748:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2966,
                  "nodeType": "IfStatement",
                  "src": "6744:33:17",
                  "trueBody": {
                    "expression": {
                      "id": 2964,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "id": 2962,
                        "name": "d0",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2938,
                        "src": "6770:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "+=",
                      "rightHandSide": {
                        "hexValue": "37",
                        "id": 2963,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6776:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_7_by_1",
                          "typeString": "int_const 7"
                        },
                        "value": "7"
                      },
                      "src": "6770:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "id": 2965,
                    "nodeType": "ExpressionStatement",
                    "src": "6770:7:17"
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    },
                    "id": 2969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 2967,
                      "name": "d1",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2949,
                      "src": "6792:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "3537",
                      "id": 2968,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6797:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_57_by_1",
                        "typeString": "int_const 57"
                      },
                      "value": "57"
                    },
                    "src": "6792:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2974,
                  "nodeType": "IfStatement",
                  "src": "6788:33:17",
                  "trueBody": {
                    "expression": {
                      "id": 2972,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "id": 2970,
                        "name": "d1",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2949,
                        "src": "6814:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "+=",
                      "rightHandSide": {
                        "hexValue": "37",
                        "id": 2971,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6820:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_7_by_1",
                          "typeString": "int_const 7"
                        },
                        "value": "7"
                      },
                      "src": "6814:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "id": 2973,
                    "nodeType": "ExpressionStatement",
                    "src": "6814:7:17"
                  }
                },
                {
                  "expression": {
                    "id": 2982,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 2975,
                        "name": "b2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2931,
                        "src": "6832:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 2977,
                      "indexExpression": {
                        "hexValue": "30",
                        "id": 2976,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6835:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "6832:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes1",
                        "typeString": "bytes1"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 2980,
                          "name": "d0",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2938,
                          "src": "6847:2:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        ],
                        "id": 2979,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "6840:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes1_$",
                          "typeString": "type(bytes1)"
                        },
                        "typeName": {
                          "id": 2978,
                          "name": "bytes1",
                          "nodeType": "ElementaryTypeName",
                          "src": "6840:6:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2981,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6840:10:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes1",
                        "typeString": "bytes1"
                      }
                    },
                    "src": "6832:18:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes1",
                      "typeString": "bytes1"
                    }
                  },
                  "id": 2983,
                  "nodeType": "ExpressionStatement",
                  "src": "6832:18:17"
                },
                {
                  "expression": {
                    "id": 2991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 2984,
                        "name": "b2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2931,
                        "src": "6861:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 2986,
                      "indexExpression": {
                        "hexValue": "31",
                        "id": 2985,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6864:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "6861:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes1",
                        "typeString": "bytes1"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 2989,
                          "name": "d1",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2949,
                          "src": "6876:2:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        ],
                        "id": 2988,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "6869:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes1_$",
                          "typeString": "type(bytes1)"
                        },
                        "typeName": {
                          "id": 2987,
                          "name": "bytes1",
                          "nodeType": "ElementaryTypeName",
                          "src": "6869:6:17",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2990,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6869:10:17",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes1",
                        "typeString": "bytes1"
                      }
                    },
                    "src": "6861:18:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes1",
                      "typeString": "bytes1"
                    }
                  },
                  "id": 2992,
                  "nodeType": "ExpressionStatement",
                  "src": "6861:18:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2995,
                        "name": "b2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2931,
                        "src": "6904:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 2994,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "6897:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 2993,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "6897:6:17",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 2996,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6897:10:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 2929,
                  "id": 2997,
                  "nodeType": "Return",
                  "src": "6890:17:17"
                }
              ]
            },
            "id": 2999,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_toHexString",
            "nameLocation": "6527:12:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2926,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2925,
                  "mutability": "mutable",
                  "name": "_u",
                  "nameLocation": "6546:2:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 2999,
                  "src": "6540:8:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 2924,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "6540:5:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6539:10:17"
            },
            "returnParameters": {
              "id": 2929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2928,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 2999,
                  "src": "6590:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2927,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6590:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6589:15:17"
            },
            "scope": 3070,
            "src": "6518:397:17",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3043,
              "nodeType": "Block",
              "src": "7064:274:17",
              "statements": [
                {
                  "assignments": [
                    3008
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3008,
                      "mutability": "mutable",
                      "name": "_bytes",
                      "nameLocation": "7088:6:17",
                      "nodeType": "VariableDeclaration",
                      "scope": 3043,
                      "src": "7075:19:17",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 3007,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "7075:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3015,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 3012,
                            "name": "_bytes32",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3002,
                            "src": "7123:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 3011,
                          "name": "_toStringLength",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3069,
                          "src": "7107:15:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$",
                            "typeString": "function (bytes32) pure returns (uint256)"
                          }
                        },
                        "id": 3013,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7107:25:17",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3010,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "7097:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 3009,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "7101:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 3014,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7097:36:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7075:58:17"
                },
                {
                  "body": {
                    "id": 3036,
                    "nodeType": "Block",
                    "src": "7183:116:17",
                    "statements": [
                      {
                        "expression": {
                          "id": 3030,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 3024,
                              "name": "_bytes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3008,
                              "src": "7198:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 3026,
                            "indexExpression": {
                              "id": 3025,
                              "name": "_i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3017,
                              "src": "7205:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "7198:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "baseExpression": {
                              "id": 3027,
                              "name": "_bytes32",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3002,
                              "src": "7211:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "id": 3029,
                            "indexExpression": {
                              "id": 3028,
                              "name": "_i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3017,
                              "src": "7220:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "7211:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "src": "7198:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "id": 3031,
                        "nodeType": "ExpressionStatement",
                        "src": "7198:25:17"
                      },
                      {
                        "id": 3035,
                        "nodeType": "UncheckedBlock",
                        "src": "7238:50:17",
                        "statements": [
                          {
                            "expression": {
                              "id": 3033,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "UnaryOperation",
                              "operator": "++",
                              "prefix": false,
                              "src": "7267:5:17",
                              "subExpression": {
                                "id": 3032,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3017,
                                "src": "7267:2:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 3034,
                            "nodeType": "ExpressionStatement",
                            "src": "7267:5:17"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3023,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 3020,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3017,
                      "src": "7162:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 3021,
                        "name": "_bytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3008,
                        "src": "7167:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 3022,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "7174:6:17",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "7167:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7162:18:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3037,
                  "initializationExpression": {
                    "assignments": [
                      3017
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3017,
                        "mutability": "mutable",
                        "name": "_i",
                        "nameLocation": "7154:2:17",
                        "nodeType": "VariableDeclaration",
                        "scope": 3037,
                        "src": "7149:7:17",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3016,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "7149:4:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 3019,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 3018,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7159:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "7149:11:17"
                  },
                  "isSimpleCounterLoop": false,
                  "nodeType": "ForStatement",
                  "src": "7144:155:17"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3040,
                        "name": "_bytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3008,
                        "src": "7323:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3039,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "7316:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 3038,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "7316:6:17",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 3041,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7316:14:17",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 3006,
                  "id": 3042,
                  "nodeType": "Return",
                  "src": "7309:21:17"
                }
              ]
            },
            "documentation": {
              "id": 3000,
              "nodeType": "StructuredDocumentation",
              "src": "6927:33:17",
              "text": "Converts bytes32 into string."
            },
            "id": 3044,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_toString",
            "nameLocation": "6975:9:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3003,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3002,
                  "mutability": "mutable",
                  "name": "_bytes32",
                  "nameLocation": "6993:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3044,
                  "src": "6985:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3001,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6985:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6984:18:17"
            },
            "returnParameters": {
              "id": 3006,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3005,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3044,
                  "src": "7044:13:17",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3004,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7044:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7043:15:17"
            },
            "scope": 3070,
            "src": "6966:372:17",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3068,
              "nodeType": "Block",
              "src": "7513:204:17",
              "statements": [
                {
                  "body": {
                    "id": 3066,
                    "nodeType": "Block",
                    "src": "7547:163:17",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          },
                          "id": 3058,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "baseExpression": {
                              "id": 3054,
                              "name": "_bytes32",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3046,
                              "src": "7566:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "id": 3056,
                            "indexExpression": {
                              "id": 3055,
                              "name": "_length",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3049,
                              "src": "7575:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "7566:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 3057,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7587:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7566:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 3061,
                        "nodeType": "IfStatement",
                        "src": "7562:68:17",
                        "trueBody": {
                          "id": 3060,
                          "nodeType": "Block",
                          "src": "7590:40:17",
                          "statements": [
                            {
                              "id": 3059,
                              "nodeType": "Break",
                              "src": "7609:5:17"
                            }
                          ]
                        }
                      },
                      {
                        "id": 3065,
                        "nodeType": "UncheckedBlock",
                        "src": "7644:55:17",
                        "statements": [
                          {
                            "expression": {
                              "id": 3063,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "UnaryOperation",
                              "operator": "++",
                              "prefix": false,
                              "src": "7673:10:17",
                              "subExpression": {
                                "id": 3062,
                                "name": "_length",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3049,
                                "src": "7673:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 3064,
                            "nodeType": "ExpressionStatement",
                            "src": "7673:10:17"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 3051,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3049,
                      "src": "7531:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "hexValue": "3332",
                      "id": 3052,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7541:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_32_by_1",
                        "typeString": "int_const 32"
                      },
                      "value": "32"
                    },
                    "src": "7531:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3067,
                  "isSimpleCounterLoop": false,
                  "nodeType": "ForStatement",
                  "src": "7524:186:17"
                }
              ]
            },
            "id": 3069,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_toStringLength",
            "nameLocation": "7419:15:17",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3047,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3046,
                  "mutability": "mutable",
                  "name": "_bytes32",
                  "nameLocation": "7443:8:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3069,
                  "src": "7435:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3045,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7435:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7434:18:17"
            },
            "returnParameters": {
              "id": 3050,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3049,
                  "mutability": "mutable",
                  "name": "_length",
                  "nameLocation": "7499:7:17",
                  "nodeType": "VariableDeclaration",
                  "scope": 3069,
                  "src": "7494:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3048,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7494:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7493:14:17"
            },
            "scope": 3070,
            "src": "7410:307:17",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 3071,
        "src": "1553:6167:17",
        "usedErrors": [
          16,
          19,
          281,
          286,
          27100,
          27103,
          27106,
          27109,
          27112,
          27115,
          27118,
          27121,
          27124,
          27127,
          38182,
          40132,
          40138
        ],
        "usedEvents": [
          24,
          292,
          25281,
          25498,
          25516,
          25525,
          25537,
          27141,
          42975,
          43307,
          43522
        ]
      }
    ],
    "src": "33:7689:17"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {
    "11155111": {
      "events": {},
      "links": {
        "WitPriceFeedsDataLib": "0xDAec3242d9c93256e556067395359e24CB0b73CA"
      },
      "address": "0x292bcaaE4D13525FbEd8341162c9c7bb0469DAAc"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-04T16:32:29.707Z",
  "networkType": "ethereum",
  "devdoc": {
    "author": "Guillermo Díaz <guillermo@witnet.io>",
    "errors": {
      "DeviantPrice()": [
        {
          "details": "Signature: 0x7b0d2bb5"
        }
      ],
      "HotPrice()": [
        {
          "details": "Signature: 0x0fbbc581"
        }
      ],
      "InvalidArgument()": [
        {
          "details": "Signature: 0xa9cb9e0d"
        }
      ],
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "InvalidUpdateData()": [
        {
          "details": "Signature: 0xe69ffece"
        }
      ],
      "InvalidUpdateDataSource()": [
        {
          "details": "Signature: 0xe60dce71"
        }
      ],
      "NoFreshUpdate()": [
        {
          "details": "Signature: 0xde2c57fa"
        }
      ],
      "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."
        }
      ],
      "PriceFeedNotFound()": [
        {
          "details": "Signature: 0x14aebe68"
        }
      ],
      "PriceFeedNotFoundWithinRange()": [
        {
          "details": "Signature: 0x45805f5d"
        }
      ],
      "StalePrice()": [
        {
          "details": "Signature: 0x19abf40e"
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "PriceFeedUpdate(bytes32,uint64,int64,uint64)": {
        "details": "Emitted when the price feed with `id` has received a fresh update.",
        "params": {
          "id": "The Pyth Price Feed ID.",
          "price": "Price of the given price update.",
          "publishTime": "Publish time of the given price update."
        }
      },
      "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": {
      "base()": {
        "details": "Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."
      },
      "clone(bytes32,address)": {
        "details": "Reverts if the salt has already been used, or trying to inherit mapped price feeds.",
        "params": {
          "_curator": "Address that will have rights to manage price feeds on the new light-proxy clone.",
          "_salt": "Salt that will determine the address of the new light-proxy clone."
        }
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "consumer()": {
        "details": "If zero, price updates will not be reported to any other external address.It can only be settled or changed by cloning the contract.Price feeds metadata and update information will be stored in this contract,even if there's a soulbound address settled."
      },
      "createChainlinkAggregator(string)": {
        "details": "Reverts if symbol is not supported."
      },
      "getEmaPrice(bytes32)": {
        "details": "Reverts if the EMA price is not available, or if the price feeds is settled with a heartbeat and the price was not recently updated.",
        "params": {
          "_id": "The Price Feed ID of which to fetch the EMA price."
        }
      },
      "getEmaPriceNotOlderThan(bytes32,uint64)": {
        "details": "This function is a sanity-checked version of `getEmaPriceUnsafe` which is useful in applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently recently."
      },
      "getEmaPriceUnsafe(bytes32)": {
        "details": "This function returns the same price as `getEmaPrice` in the case where the price is available. However, if the price is not recent this function returns the latest available price. The returned price can be from arbitrarily far in the past; this function makes no guarantees that the returned price is recent or useful for any particular application. Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getEmaPrice` or `getEmaPriceNoOlderThan`."
      },
      "getPrice(bytes32)": {
        "details": "Reverts if the price has not been updated within the last `heartbeatSecs`. ",
        "params": {
          "_id": "The Price Feed ID of which to fetch the price."
        }
      },
      "getPrice(bytes4)": {
        "details": "Reverts if: - `StalePrice()`: the price feed has not been updated within the last `UpdateConditions.heartbeatSecs`, - `DeviantPrice()`: a deviation greater than `UpdateConditions.maxDeviation1000` was detected upon last update attempt. - `InvalidGovernanceTarget()`: no EMA is curretly settled to be computed for this price feed.",
        "params": {
          "_id4": "Unique ID4 identifier of a price feed supported by this contract."
        }
      },
      "getPriceNotOlderThan(bytes32,uint64)": {
        "details": "This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications that require a sufficiently-recent price.  Reverts if the price wasn't updated sufficiently recently."
      },
      "getPriceNotOlderThan(bytes4,uint24)": {
        "details": "Reverts if: - `StalePrice()`: the price feed has not been updated within the last `_age` seconds, ",
        "params": {
          "_age": "Maximum age of acceptable price value.",
          "_id4": "Unique ID4 identifier of a price feed supported by this contract."
        }
      },
      "getPriceUnsafe(bytes32)": {
        "details": "This function returns the most recent price update in this contract without any recency checks. This function is unsafe as the returned price update may be arbitrarily far in the past.  Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getPrice` or `getPriceNoOlderThan`."
      },
      "getPriceUnsafe(bytes4)": {
        "params": {
          "_id4": "Unique ID4 identifier of a price feed supported by this contract."
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "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."
      },
      "version()": {
        "details": "Retrieves human-redable named version of current implementation."
      }
    },
    "stateVariables": {
      "proxiableUUID": {
        "details": "Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.      If implemented as an Upgradeable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail."
      }
    },
    "title": "WitPriceFeedsUpgradable: On-demand Price Feeds registry for EVM-compatible L1/L2 chains,  natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price  updates from other on-chain price-feed oracles too, if required.  Price feeds purely relying on the Wit/Oracle present some advantanges, though: - Anyone can permissionless pull and report price updates on-chain. - Updating the price requires paying no extra \"update fees\". - Prices can be extracted from independent and highly reputed exchanges and data providers. - Actual data sources for each price feed can be introspected on-chain. - Data source traceability in the Wit/Oracle blockchain is possible for every single price update. Instances of this contract may also provide support for \"routed price feeds\" (computed as the  product or mean average of up to other 8 different price feeds), as well as \"cascade price feeds\"  (where multiple oracles could be used as backup when preferred ones don't manage to provide  fresh enough updates for whatever reason). Last but not least, this contract allows simple plug-and-play integration from  smart contracts, dapps and DeFi projects currently adapted to operate with other price feed solutions, like Chainlink, or Pyth. ",
    "version": 1
  },
  "userdoc": {
    "errors": {
      "DeviantPrice()": [
        {
          "notice": "Requested price deviated too much after previous update."
        }
      ],
      "HotPrice()": [
        {
          "notice": "Attempting to update a price before cooldown period expires."
        }
      ],
      "InvalidArgument()": [
        {
          "notice": "Function arguments are invalid (e.g., the arguments lengths mismatch)"
        }
      ],
      "InvalidGovernanceTarget()": [
        {
          "notice": "Either the number of witnesses that solved a price update is not within the settled range in this contract, or an EMA is being asked for a price feed that's not settled for the EMA to be computed. "
        }
      ],
      "InvalidUpdateData()": [
        {
          "notice": "Update data is invalid (e.g. badly serialized, or bad proof was provided)."
        }
      ],
      "InvalidUpdateDataSource()": [
        {
          "notice": "Update data is coming from an invalid Wit/Oracle Radon Hash."
        }
      ],
      "NoFreshUpdate()": [
        {
          "notice": "There is no fresh update, whereas expected fresh updates."
        }
      ],
      "PriceFeedNotFound()": [
        {
          "notice": "Price feed not found or it is not pushed on-chain yet."
        }
      ],
      "PriceFeedNotFoundWithinRange()": [
        {
          "notice": "There is no price feed found within the given range or it does not exist."
        }
      ],
      "StalePrice()": [
        {
          "notice": "Requested price is stale."
        }
      ]
    },
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "acceptOwnership()": {
        "notice": "=============================================================================================================== --- IWitPriceFeedsAdmin ---------------------------------------------------------------------------------------"
      },
      "class()": {
        "notice": "Returns the name of the actual contract implementing the logic of this Witnet appliance."
      },
      "clone(bytes32,address)": {
        "notice": "Creates a light-proxy clone to the underlying logic contract, owned by the specified `operator` address.  Operators of cloned contracts can optionally settle one single price feed `IWitPriceFeedConsumer` contract.  The consumer contract, if settled, will be immediately reported upon every verified price update pushed  into `WitPriceFeeds`. Either way, price feeds data will be stored in the `WitPriceFeeds` storage. "
      },
      "cloned()": {
        "notice": "=============================================================================================================== --- Clonable2 -------------------------------------------------------------------------------------------------"
      },
      "consumer()": {
        "notice": "Returns the soul-bounded address where all price updates will be reported to."
      },
      "createChainlinkAggregator(string)": {
        "notice": "Creates a Chainlink Aggregator proxy to the specified symbol."
      },
      "footprint()": {
        "notice": "Returns a unique hash determined by the combination of data sources being used by  supported non-routed price feeds, and dependencies of all supported routed  price feeds. The footprint changes if any price feed is modified, added, removed  or if the dependency tree of any routed price feed is altered."
      },
      "getEmaPrice(bytes32)": {
        "notice": "Returns the exponentially-weighted moving average price."
      },
      "getEmaPriceNotOlderThan(bytes32,uint64)": {
        "notice": "Returns the exponentially-weighted moving average price that is no older than `_age` seconds of the current time."
      },
      "getEmaPriceUnsafe(bytes32)": {
        "notice": "Returns the exponentially-weighted moving average price of a price feed without any sanity checks."
      },
      "getPrice(bytes32)": {
        "notice": "Returns the price of given price feed."
      },
      "getPrice(bytes4)": {
        "notice": "Returns last update price for the specified ID4 price feed. Note: This function is sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require recentl updated price, and no hint of market deviation being currently excessive. "
      },
      "getPriceNotOlderThan(bytes32,uint64)": {
        "notice": "Returns the price that is no older than `_age` seconds of the current time."
      },
      "getPriceNotOlderThan(bytes4,uint24)": {
        "notice": "Returns last known price if no older than `_age` seconds of the current time. Note: This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require last known non-deviant price, last updated within specified time range."
      },
      "getPriceUnsafe(bytes32)": {
        "notice": "Returns the price of a price feed without any sanity checks."
      },
      "getPriceUnsafe(bytes4)": {
        "notice": "Returns last updated price without any sanity checks. Note: This function is unsafe as the returned price update may be arbitrarily far in the past. Users of this function should check the `timestamp` of each price feed to ensure that the returned values  are sufficiently recent for their application. If you need safe access to fresh data, please consider using calling to either `getPrice` or `getPriceNoOlderThan` variants. "
      },
      "getUpdateFee(bytes)": {
        "notice": "Legacy-compliant to get the required fee to update an array of price updates, which would be always 0 if relying from the Wit/Oracle framework."
      },
      "hash(string)": {
        "notice": "Determines unique ID for specified `symbol` string."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "initialized()": {
        "notice": "=============================================================================================================== --- Clonable2 -------------------------------------------------------------------------------------------------"
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "lookupPriceFeeds()": {
        "notice": "Returns last known price updates and deviations for all supported price feeds without any sanity checks.    "
      },
      "master()": {
        "notice": "Master address from which this contract was cloned."
      },
      "pushDataReport((bytes32,bytes32,(uint16,uint16,uint64),uint64,bytes),bytes)": {
        "notice": "=============================================================================================================== --- IWitOracleConsumer ----------------------------------------------------------------------------------------"
      },
      "specs()": {
        "notice": "Returns the ERC-165 id of the minimal functionality expected for this appliance."
      },
      "valueFor(bytes32)": {
        "notice": "=============================================================================================================== --- IERC2362 --------------------------------------------------------------------------------------------------"
      },
      "witOracle()": {
        "notice": "Returns the WitOracle address that this appliance is bound to."
      }
    },
    "version": 1
  }
}