{
  "id": "0780dbb18bf690bdaf9ed138aef2c27d",
  "_format": "hh-sol-build-info-1",
  "solcVersion": "0.8.7",
  "solcLongVersion": "0.8.7+commit.e28d00a7",
  "input": {
    "language": "Solidity",
    "sources": {
      "contracts/mock/MockEnsReverseRegistrar.sol": {
        "content": "pragma solidity ^0.8.7;\n\ncontract MockEnsReverseRegistrar {\n    // ENS REVERSE RESOLVER MOCKS\n\n    function setName(string memory ensString) public {\n        return;\n    }\n}\n"
      }
    },
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 1000
      },
      "outputSelection": {
        "*": {
          "*": [
            "abi",
            "evm.bytecode",
            "evm.deployedBytecode",
            "evm.methodIdentifiers",
            "metadata",
            "devdoc",
            "userdoc",
            "storageLayout",
            "evm.gasEstimates"
          ],
          "": [
            "ast"
          ]
        }
      },
      "metadata": {
        "useLiteralContent": true
      },
      "libraries": {
        "": {
          "__CACHE_BREAKER__": "0x0000000000000031363637343837323630363233"
        }
      }
    }
  },
  "output": {
    "contracts": {
      "contracts/mock/MockEnsReverseRegistrar.sol": {
        "MockEnsReverseRegistrar": {
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "ensString",
                  "type": "string"
                }
              ],
              "name": "setName",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ],
          "devdoc": {
            "kind": "dev",
            "methods": {},
            "version": 1
          },
          "evm": {
            "bytecode": {
              "functionDebugData": {},
              "generatedSources": [],
              "linkReferences": {},
              "object": "608060405234801561001057600080fd5b50610159806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c47f002714610030575b600080fd5b61004161003e366004610043565b50565b005b60006020828403121561005557600080fd5b813567ffffffffffffffff8082111561006d57600080fd5b818401915084601f83011261008157600080fd5b813581811115610093576100936100f4565b604051601f8201601f19908116603f011681019083821181831017156100bb576100bb6100f4565b816040528281528760208487010111156100d457600080fd5b826020860160208301376000928101602001929092525095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220c63a88871f76151f18448b92a4e9138874265a28e275dd4545b2620b64a0116d64736f6c63430008070033",
              "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x159 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC47F0027 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x43 JUMP JUMPDEST POP JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x6D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x93 JUMPI PUSH2 0x93 PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xBB JUMPI PUSH2 0xBB PUSH2 0xF4 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD PUSH1 0x20 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC6 GASPRICE DUP9 DUP8 0x1F PUSH23 0x151F18448B92A4E9138874265A28E275DD4545B2620B64 LOG0 GT PUSH14 0x64736F6C63430008070033000000 ",
              "sourceMap": "25:148:0:-:0;;;;;;;;;;;;;;;;;;;"
            },
            "deployedBytecode": {
              "functionDebugData": {
                "@setName_8": {
                  "entryPoint": null,
                  "id": 8,
                  "parameterSlots": 1,
                  "returnSlots": 0
                },
                "abi_decode_tuple_t_string_memory_ptr": {
                  "entryPoint": 67,
                  "id": null,
                  "parameterSlots": 2,
                  "returnSlots": 1
                },
                "panic_error_0x41": {
                  "entryPoint": 244,
                  "id": null,
                  "parameterSlots": 0,
                  "returnSlots": 0
                }
              },
              "generatedSources": [
                {
                  "ast": {
                    "nodeType": "YulBlock",
                    "src": "0:1127:1",
                    "statements": [
                      {
                        "nodeType": "YulBlock",
                        "src": "6:3:1",
                        "statements": []
                      },
                      {
                        "body": {
                          "nodeType": "YulBlock",
                          "src": "94:842:1",
                          "statements": [
                            {
                              "body": {
                                "nodeType": "YulBlock",
                                "src": "140:16:1",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "149:1:1",
                                          "type": "",
                                          "value": "0"
                                        },
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "152:1:1",
                                          "type": "",
                                          "value": "0"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nodeType": "YulIdentifier",
                                        "src": "142:6:1"
                                      },
                                      "nodeType": "YulFunctionCall",
                                      "src": "142:12:1"
                                    },
                                    "nodeType": "YulExpressionStatement",
                                    "src": "142:12:1"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "dataEnd",
                                        "nodeType": "YulIdentifier",
                                        "src": "115:7:1"
                                      },
                                      {
                                        "name": "headStart",
                                        "nodeType": "YulIdentifier",
                                        "src": "124:9:1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sub",
                                      "nodeType": "YulIdentifier",
                                      "src": "111:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "111:23:1"
                                  },
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "136:2:1",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "slt",
                                  "nodeType": "YulIdentifier",
                                  "src": "107:3:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "107:32:1"
                              },
                              "nodeType": "YulIf",
                              "src": "104:52:1"
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "165:37:1",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "headStart",
                                    "nodeType": "YulIdentifier",
                                    "src": "192:9:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "calldataload",
                                  "nodeType": "YulIdentifier",
                                  "src": "179:12:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "179:23:1"
                              },
                              "variables": [
                                {
                                  "name": "offset",
                                  "nodeType": "YulTypedName",
                                  "src": "169:6:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "211:28:1",
                              "value": {
                                "kind": "number",
                                "nodeType": "YulLiteral",
                                "src": "221:18:1",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              },
                              "variables": [
                                {
                                  "name": "_1",
                                  "nodeType": "YulTypedName",
                                  "src": "215:2:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nodeType": "YulBlock",
                                "src": "266:16:1",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "275:1:1",
                                          "type": "",
                                          "value": "0"
                                        },
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "278:1:1",
                                          "type": "",
                                          "value": "0"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nodeType": "YulIdentifier",
                                        "src": "268:6:1"
                                      },
                                      "nodeType": "YulFunctionCall",
                                      "src": "268:12:1"
                                    },
                                    "nodeType": "YulExpressionStatement",
                                    "src": "268:12:1"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "name": "offset",
                                    "nodeType": "YulIdentifier",
                                    "src": "254:6:1"
                                  },
                                  {
                                    "name": "_1",
                                    "nodeType": "YulIdentifier",
                                    "src": "262:2:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nodeType": "YulIdentifier",
                                  "src": "251:2:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "251:14:1"
                              },
                              "nodeType": "YulIf",
                              "src": "248:34:1"
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "291:32:1",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "headStart",
                                    "nodeType": "YulIdentifier",
                                    "src": "305:9:1"
                                  },
                                  {
                                    "name": "offset",
                                    "nodeType": "YulIdentifier",
                                    "src": "316:6:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nodeType": "YulIdentifier",
                                  "src": "301:3:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "301:22:1"
                              },
                              "variables": [
                                {
                                  "name": "_2",
                                  "nodeType": "YulTypedName",
                                  "src": "295:2:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nodeType": "YulBlock",
                                "src": "371:16:1",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "380:1:1",
                                          "type": "",
                                          "value": "0"
                                        },
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "383:1:1",
                                          "type": "",
                                          "value": "0"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nodeType": "YulIdentifier",
                                        "src": "373:6:1"
                                      },
                                      "nodeType": "YulFunctionCall",
                                      "src": "373:12:1"
                                    },
                                    "nodeType": "YulExpressionStatement",
                                    "src": "373:12:1"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "_2",
                                            "nodeType": "YulIdentifier",
                                            "src": "350:2:1"
                                          },
                                          {
                                            "kind": "number",
                                            "nodeType": "YulLiteral",
                                            "src": "354:4:1",
                                            "type": "",
                                            "value": "0x1f"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nodeType": "YulIdentifier",
                                          "src": "346:3:1"
                                        },
                                        "nodeType": "YulFunctionCall",
                                        "src": "346:13:1"
                                      },
                                      {
                                        "name": "dataEnd",
                                        "nodeType": "YulIdentifier",
                                        "src": "361:7:1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "slt",
                                      "nodeType": "YulIdentifier",
                                      "src": "342:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "342:27:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nodeType": "YulIdentifier",
                                  "src": "335:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "335:35:1"
                              },
                              "nodeType": "YulIf",
                              "src": "332:55:1"
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "396:26:1",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nodeType": "YulIdentifier",
                                    "src": "419:2:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "calldataload",
                                  "nodeType": "YulIdentifier",
                                  "src": "406:12:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "406:16:1"
                              },
                              "variables": [
                                {
                                  "name": "_3",
                                  "nodeType": "YulTypedName",
                                  "src": "400:2:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nodeType": "YulBlock",
                                "src": "445:22:1",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [],
                                      "functionName": {
                                        "name": "panic_error_0x41",
                                        "nodeType": "YulIdentifier",
                                        "src": "447:16:1"
                                      },
                                      "nodeType": "YulFunctionCall",
                                      "src": "447:18:1"
                                    },
                                    "nodeType": "YulExpressionStatement",
                                    "src": "447:18:1"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "name": "_3",
                                    "nodeType": "YulIdentifier",
                                    "src": "437:2:1"
                                  },
                                  {
                                    "name": "_1",
                                    "nodeType": "YulIdentifier",
                                    "src": "441:2:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nodeType": "YulIdentifier",
                                  "src": "434:2:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "434:10:1"
                              },
                              "nodeType": "YulIf",
                              "src": "431:36:1"
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "476:17:1",
                              "value": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "490:2:1",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nodeType": "YulIdentifier",
                                  "src": "486:3:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "486:7:1"
                              },
                              "variables": [
                                {
                                  "name": "_4",
                                  "nodeType": "YulTypedName",
                                  "src": "480:2:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "502:23:1",
                              "value": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "522:2:1",
                                    "type": "",
                                    "value": "64"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nodeType": "YulIdentifier",
                                  "src": "516:5:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "516:9:1"
                              },
                              "variables": [
                                {
                                  "name": "memPtr",
                                  "nodeType": "YulTypedName",
                                  "src": "506:6:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "nodeType": "YulVariableDeclaration",
                              "src": "534:71:1",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "memPtr",
                                    "nodeType": "YulIdentifier",
                                    "src": "556:6:1"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "_3",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "580:2:1"
                                                  },
                                                  {
                                                    "kind": "number",
                                                    "nodeType": "YulLiteral",
                                                    "src": "584:4:1",
                                                    "type": "",
                                                    "value": "0x1f"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "576:3:1"
                                                },
                                                "nodeType": "YulFunctionCall",
                                                "src": "576:13:1"
                                              },
                                              {
                                                "name": "_4",
                                                "nodeType": "YulIdentifier",
                                                "src": "591:2:1"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "and",
                                              "nodeType": "YulIdentifier",
                                              "src": "572:3:1"
                                            },
                                            "nodeType": "YulFunctionCall",
                                            "src": "572:22:1"
                                          },
                                          {
                                            "kind": "number",
                                            "nodeType": "YulLiteral",
                                            "src": "596:2:1",
                                            "type": "",
                                            "value": "63"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nodeType": "YulIdentifier",
                                          "src": "568:3:1"
                                        },
                                        "nodeType": "YulFunctionCall",
                                        "src": "568:31:1"
                                      },
                                      {
                                        "name": "_4",
                                        "nodeType": "YulIdentifier",
                                        "src": "601:2:1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "and",
                                      "nodeType": "YulIdentifier",
                                      "src": "564:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "564:40:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nodeType": "YulIdentifier",
                                  "src": "552:3:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "552:53:1"
                              },
                              "variables": [
                                {
                                  "name": "newFreePtr",
                                  "nodeType": "YulTypedName",
                                  "src": "538:10:1",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nodeType": "YulBlock",
                                "src": "664:22:1",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [],
                                      "functionName": {
                                        "name": "panic_error_0x41",
                                        "nodeType": "YulIdentifier",
                                        "src": "666:16:1"
                                      },
                                      "nodeType": "YulFunctionCall",
                                      "src": "666:18:1"
                                    },
                                    "nodeType": "YulExpressionStatement",
                                    "src": "666:18:1"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "newFreePtr",
                                        "nodeType": "YulIdentifier",
                                        "src": "623:10:1"
                                      },
                                      {
                                        "name": "_1",
                                        "nodeType": "YulIdentifier",
                                        "src": "635:2:1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "gt",
                                      "nodeType": "YulIdentifier",
                                      "src": "620:2:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "620:18:1"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "newFreePtr",
                                        "nodeType": "YulIdentifier",
                                        "src": "643:10:1"
                                      },
                                      {
                                        "name": "memPtr",
                                        "nodeType": "YulIdentifier",
                                        "src": "655:6:1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "lt",
                                      "nodeType": "YulIdentifier",
                                      "src": "640:2:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "640:22:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "or",
                                  "nodeType": "YulIdentifier",
                                  "src": "617:2:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "617:46:1"
                              },
                              "nodeType": "YulIf",
                              "src": "614:72:1"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "702:2:1",
                                    "type": "",
                                    "value": "64"
                                  },
                                  {
                                    "name": "newFreePtr",
                                    "nodeType": "YulIdentifier",
                                    "src": "706:10:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nodeType": "YulIdentifier",
                                  "src": "695:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "695:22:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "695:22:1"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "memPtr",
                                    "nodeType": "YulIdentifier",
                                    "src": "733:6:1"
                                  },
                                  {
                                    "name": "_3",
                                    "nodeType": "YulIdentifier",
                                    "src": "741:2:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nodeType": "YulIdentifier",
                                  "src": "726:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "726:18:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "726:18:1"
                            },
                            {
                              "body": {
                                "nodeType": "YulBlock",
                                "src": "790:16:1",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "799:1:1",
                                          "type": "",
                                          "value": "0"
                                        },
                                        {
                                          "kind": "number",
                                          "nodeType": "YulLiteral",
                                          "src": "802:1:1",
                                          "type": "",
                                          "value": "0"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nodeType": "YulIdentifier",
                                        "src": "792:6:1"
                                      },
                                      "nodeType": "YulFunctionCall",
                                      "src": "792:12:1"
                                    },
                                    "nodeType": "YulExpressionStatement",
                                    "src": "792:12:1"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "_2",
                                            "nodeType": "YulIdentifier",
                                            "src": "767:2:1"
                                          },
                                          {
                                            "name": "_3",
                                            "nodeType": "YulIdentifier",
                                            "src": "771:2:1"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nodeType": "YulIdentifier",
                                          "src": "763:3:1"
                                        },
                                        "nodeType": "YulFunctionCall",
                                        "src": "763:11:1"
                                      },
                                      {
                                        "kind": "number",
                                        "nodeType": "YulLiteral",
                                        "src": "776:2:1",
                                        "type": "",
                                        "value": "32"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nodeType": "YulIdentifier",
                                      "src": "759:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "759:20:1"
                                  },
                                  {
                                    "name": "dataEnd",
                                    "nodeType": "YulIdentifier",
                                    "src": "781:7:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nodeType": "YulIdentifier",
                                  "src": "756:2:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "756:33:1"
                              },
                              "nodeType": "YulIf",
                              "src": "753:53:1"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "memPtr",
                                        "nodeType": "YulIdentifier",
                                        "src": "832:6:1"
                                      },
                                      {
                                        "kind": "number",
                                        "nodeType": "YulLiteral",
                                        "src": "840:2:1",
                                        "type": "",
                                        "value": "32"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nodeType": "YulIdentifier",
                                      "src": "828:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "828:15:1"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "_2",
                                        "nodeType": "YulIdentifier",
                                        "src": "849:2:1"
                                      },
                                      {
                                        "kind": "number",
                                        "nodeType": "YulLiteral",
                                        "src": "853:2:1",
                                        "type": "",
                                        "value": "32"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nodeType": "YulIdentifier",
                                      "src": "845:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "845:11:1"
                                  },
                                  {
                                    "name": "_3",
                                    "nodeType": "YulIdentifier",
                                    "src": "858:2:1"
                                  }
                                ],
                                "functionName": {
                                  "name": "calldatacopy",
                                  "nodeType": "YulIdentifier",
                                  "src": "815:12:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "815:46:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "815:46:1"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "memPtr",
                                            "nodeType": "YulIdentifier",
                                            "src": "885:6:1"
                                          },
                                          {
                                            "name": "_3",
                                            "nodeType": "YulIdentifier",
                                            "src": "893:2:1"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nodeType": "YulIdentifier",
                                          "src": "881:3:1"
                                        },
                                        "nodeType": "YulFunctionCall",
                                        "src": "881:15:1"
                                      },
                                      {
                                        "kind": "number",
                                        "nodeType": "YulLiteral",
                                        "src": "898:2:1",
                                        "type": "",
                                        "value": "32"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nodeType": "YulIdentifier",
                                      "src": "877:3:1"
                                    },
                                    "nodeType": "YulFunctionCall",
                                    "src": "877:24:1"
                                  },
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "903:1:1",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nodeType": "YulIdentifier",
                                  "src": "870:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "870:35:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "870:35:1"
                            },
                            {
                              "nodeType": "YulAssignment",
                              "src": "914:16:1",
                              "value": {
                                "name": "memPtr",
                                "nodeType": "YulIdentifier",
                                "src": "924:6:1"
                              },
                              "variableNames": [
                                {
                                  "name": "value0",
                                  "nodeType": "YulIdentifier",
                                  "src": "914:6:1"
                                }
                              ]
                            }
                          ]
                        },
                        "name": "abi_decode_tuple_t_string_memory_ptr",
                        "nodeType": "YulFunctionDefinition",
                        "parameters": [
                          {
                            "name": "headStart",
                            "nodeType": "YulTypedName",
                            "src": "60:9:1",
                            "type": ""
                          },
                          {
                            "name": "dataEnd",
                            "nodeType": "YulTypedName",
                            "src": "71:7:1",
                            "type": ""
                          }
                        ],
                        "returnVariables": [
                          {
                            "name": "value0",
                            "nodeType": "YulTypedName",
                            "src": "83:6:1",
                            "type": ""
                          }
                        ],
                        "src": "14:922:1"
                      },
                      {
                        "body": {
                          "nodeType": "YulBlock",
                          "src": "973:152:1",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "990:1:1",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "993:77:1",
                                    "type": "",
                                    "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nodeType": "YulIdentifier",
                                  "src": "983:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "983:88:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "983:88:1"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "1087:1:1",
                                    "type": "",
                                    "value": "4"
                                  },
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "1090:4:1",
                                    "type": "",
                                    "value": "0x41"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nodeType": "YulIdentifier",
                                  "src": "1080:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "1080:15:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "1080:15:1"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "1111:1:1",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nodeType": "YulLiteral",
                                    "src": "1114:4:1",
                                    "type": "",
                                    "value": "0x24"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nodeType": "YulIdentifier",
                                  "src": "1104:6:1"
                                },
                                "nodeType": "YulFunctionCall",
                                "src": "1104:15:1"
                              },
                              "nodeType": "YulExpressionStatement",
                              "src": "1104:15:1"
                            }
                          ]
                        },
                        "name": "panic_error_0x41",
                        "nodeType": "YulFunctionDefinition",
                        "src": "941:184:1"
                      }
                    ]
                  },
                  "contents": "{\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        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := calldataload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n        mstore(add(add(memPtr, _3), 32), 0)\n        value0 := memPtr\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n}",
                  "id": 1,
                  "language": "Yul",
                  "name": "#utility.yul"
                }
              ],
              "immutableReferences": {},
              "linkReferences": {},
              "object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c47f002714610030575b600080fd5b61004161003e366004610043565b50565b005b60006020828403121561005557600080fd5b813567ffffffffffffffff8082111561006d57600080fd5b818401915084601f83011261008157600080fd5b813581811115610093576100936100f4565b604051601f8201601f19908116603f011681019083821181831017156100bb576100bb6100f4565b816040528281528760208487010111156100d457600080fd5b826020860160208301376000928101602001929092525095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220c63a88871f76151f18448b92a4e9138874265a28e275dd4545b2620b64a0116d64736f6c63430008070033",
              "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC47F0027 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x43 JUMP JUMPDEST POP JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x6D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x93 JUMPI PUSH2 0x93 PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xBB JUMPI PUSH2 0xBB PUSH2 0xF4 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD PUSH1 0x20 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC6 GASPRICE DUP9 DUP8 0x1F PUSH23 0x151F18448B92A4E9138874265A28E275DD4545B2620B64 LOG0 GT PUSH14 0x64736F6C63430008070033000000 ",
              "sourceMap": "25:148:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;99:72;;;;;;:::i;:::-;;;;;14:922:1;83:6;136:2;124:9;115:7;111:23;107:32;104:52;;;152:1;149;142:12;104:52;192:9;179:23;221:18;262:2;254:6;251:14;248:34;;;278:1;275;268:12;248:34;316:6;305:9;301:22;291:32;;361:7;354:4;350:2;346:13;342:27;332:55;;383:1;380;373:12;332:55;419:2;406:16;441:2;437;434:10;431:36;;;447:18;;:::i;:::-;522:2;516:9;490:2;576:13;;-1:-1:-1;;572:22:1;;;596:2;568:31;564:40;552:53;;;620:18;;;640:22;;;617:46;614:72;;;666:18;;:::i;:::-;706:10;702:2;695:22;741:2;733:6;726:18;781:7;776:2;771;767;763:11;759:20;756:33;753:53;;;802:1;799;792:12;753:53;858:2;853;849;845:11;840:2;832:6;828:15;815:46;903:1;881:15;;;898:2;877:24;870:35;;;;-1:-1:-1;885:6:1;14:922;-1:-1:-1;;;;;14:922:1:o;941:184::-;993:77;990:1;983:88;1090:4;1087:1;1080:15;1114:4;1111:1;1104:15"
            },
            "gasEstimates": {
              "creation": {
                "codeDepositCost": "69000",
                "executionCost": "117",
                "totalCost": "69117"
              },
              "external": {
                "setName(string)": "infinite"
              }
            },
            "methodIdentifiers": {
              "setName(string)": "c47f0027"
            }
          },
          "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"ensString\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mock/MockEnsReverseRegistrar.sol\":\"MockEnsReverseRegistrar\"},\"evmVersion\":\"london\",\"libraries\":{\":__CACHE_BREAKER__\":\"0x0000000000000031363637343837323630363233\"},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"contracts/mock/MockEnsReverseRegistrar.sol\":{\"content\":\"pragma solidity ^0.8.7;\\n\\ncontract MockEnsReverseRegistrar {\\n    // ENS REVERSE RESOLVER MOCKS\\n\\n    function setName(string memory ensString) public {\\n        return;\\n    }\\n}\\n\",\"keccak256\":\"0x893ec204ea88d5349fce61ed21e814326396bf9437589d90fff4b912a5c7dfdb\"}},\"version\":1}",
          "storageLayout": {
            "storage": [],
            "types": null
          },
          "userdoc": {
            "kind": "user",
            "methods": {},
            "version": 1
          }
        }
      }
    },
    "errors": [
      {
        "component": "general",
        "errorCode": "1878",
        "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/mock/MockEnsReverseRegistrar.sol\n\n",
        "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
        "severity": "warning",
        "sourceLocation": {
          "end": -1,
          "file": "contracts/mock/MockEnsReverseRegistrar.sol",
          "start": -1
        },
        "type": "Warning"
      },
      {
        "component": "general",
        "errorCode": "5667",
        "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/mock/MockEnsReverseRegistrar.sol:6:22:\n  |\n6 |     function setName(string memory ensString) public {\n  |                      ^^^^^^^^^^^^^^^^^^^^^^^\n\n",
        "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
        "severity": "warning",
        "sourceLocation": {
          "end": 139,
          "file": "contracts/mock/MockEnsReverseRegistrar.sol",
          "start": 116
        },
        "type": "Warning"
      },
      {
        "component": "general",
        "errorCode": "2018",
        "formattedMessage": "Warning: Function state mutability can be restricted to pure\n --> contracts/mock/MockEnsReverseRegistrar.sol:6:5:\n  |\n6 |     function setName(string memory ensString) public {\n  |     ^ (Relevant source part starts here and spans across multiple lines).\n\n",
        "message": "Function state mutability can be restricted to pure",
        "severity": "warning",
        "sourceLocation": {
          "end": 171,
          "file": "contracts/mock/MockEnsReverseRegistrar.sol",
          "start": 99
        },
        "type": "Warning"
      }
    ],
    "sources": {
      "contracts/mock/MockEnsReverseRegistrar.sol": {
        "ast": {
          "absolutePath": "contracts/mock/MockEnsReverseRegistrar.sol",
          "exportedSymbols": {
            "MockEnsReverseRegistrar": [
              9
            ]
          },
          "id": 10,
          "nodeType": "SourceUnit",
          "nodes": [
            {
              "id": 1,
              "literals": [
                "solidity",
                "^",
                "0.8",
                ".7"
              ],
              "nodeType": "PragmaDirective",
              "src": "0:23:0"
            },
            {
              "abstract": false,
              "baseContracts": [],
              "contractDependencies": [],
              "contractKind": "contract",
              "fullyImplemented": true,
              "id": 9,
              "linearizedBaseContracts": [
                9
              ],
              "name": "MockEnsReverseRegistrar",
              "nameLocation": "34:23:0",
              "nodeType": "ContractDefinition",
              "nodes": [
                {
                  "body": {
                    "id": 7,
                    "nodeType": "Block",
                    "src": "148:23:0",
                    "statements": [
                      {
                        "functionReturnParameters": 5,
                        "id": 6,
                        "nodeType": "Return",
                        "src": "158:7:0"
                      }
                    ]
                  },
                  "functionSelector": "c47f0027",
                  "id": 8,
                  "implemented": true,
                  "kind": "function",
                  "modifiers": [],
                  "name": "setName",
                  "nameLocation": "108:7:0",
                  "nodeType": "FunctionDefinition",
                  "parameters": {
                    "id": 4,
                    "nodeType": "ParameterList",
                    "parameters": [
                      {
                        "constant": false,
                        "id": 3,
                        "mutability": "mutable",
                        "name": "ensString",
                        "nameLocation": "130:9:0",
                        "nodeType": "VariableDeclaration",
                        "scope": 8,
                        "src": "116:23:0",
                        "stateVariable": false,
                        "storageLocation": "memory",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string"
                        },
                        "typeName": {
                          "id": 2,
                          "name": "string",
                          "nodeType": "ElementaryTypeName",
                          "src": "116:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage_ptr",
                            "typeString": "string"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "src": "115:25:0"
                  },
                  "returnParameters": {
                    "id": 5,
                    "nodeType": "ParameterList",
                    "parameters": [],
                    "src": "148:0:0"
                  },
                  "scope": 9,
                  "src": "99:72:0",
                  "stateMutability": "nonpayable",
                  "virtual": false,
                  "visibility": "public"
                }
              ],
              "scope": 10,
              "src": "25:148:0",
              "usedErrors": []
            }
          ],
          "src": "0:174:0"
        },
        "id": 0
      }
    }
  }
}
