mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			736 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			736 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
  "contracts":
 | 
						|
  {
 | 
						|
    "combined_json_generated_sources/input.sol:C":
 | 
						|
    {
 | 
						|
      "generated-sources": [],
 | 
						|
      "generated-sources-runtime":
 | 
						|
      [
 | 
						|
        {
 | 
						|
          "ast":
 | 
						|
          {
 | 
						|
            "nodeType": "YulBlock",
 | 
						|
            "src": "0:825:1",
 | 
						|
            "statements":
 | 
						|
            [
 | 
						|
              {
 | 
						|
                "body":
 | 
						|
                {
 | 
						|
                  "nodeType": "YulBlock",
 | 
						|
                  "src": "114:277:1",
 | 
						|
                  "statements":
 | 
						|
                  [
 | 
						|
                    {
 | 
						|
                      "body":
 | 
						|
                      {
 | 
						|
                        "nodeType": "YulBlock",
 | 
						|
                        "src": "163:16:1",
 | 
						|
                        "statements":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "expression":
 | 
						|
                            {
 | 
						|
                              "arguments":
 | 
						|
                              [
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "172:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                },
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "175:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                }
 | 
						|
                              ],
 | 
						|
                              "functionName":
 | 
						|
                              {
 | 
						|
                                "name": "revert",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "165:6:1"
 | 
						|
                              },
 | 
						|
                              "nodeType": "YulFunctionCall",
 | 
						|
                              "src": "165:12:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulExpressionStatement",
 | 
						|
                            "src": "165:12:1"
 | 
						|
                          }
 | 
						|
                        ]
 | 
						|
                      },
 | 
						|
                      "condition":
 | 
						|
                      {
 | 
						|
                        "arguments":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "arguments":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "arguments":
 | 
						|
                                [
 | 
						|
                                  {
 | 
						|
                                    "name": "offset",
 | 
						|
                                    "nodeType": "YulIdentifier",
 | 
						|
                                    "src": "142:6:1"
 | 
						|
                                  },
 | 
						|
                                  {
 | 
						|
                                    "kind": "number",
 | 
						|
                                    "nodeType": "YulLiteral",
 | 
						|
                                    "src": "150:4:1",
 | 
						|
                                    "type": "",
 | 
						|
                                    "value": "0x1f"
 | 
						|
                                  }
 | 
						|
                                ],
 | 
						|
                                "functionName":
 | 
						|
                                {
 | 
						|
                                  "name": "add",
 | 
						|
                                  "nodeType": "YulIdentifier",
 | 
						|
                                  "src": "138:3:1"
 | 
						|
                                },
 | 
						|
                                "nodeType": "YulFunctionCall",
 | 
						|
                                "src": "138:17:1"
 | 
						|
                              },
 | 
						|
                              {
 | 
						|
                                "name": "end",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "157:3:1"
 | 
						|
                              }
 | 
						|
                            ],
 | 
						|
                            "functionName":
 | 
						|
                            {
 | 
						|
                              "name": "slt",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "134:3:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulFunctionCall",
 | 
						|
                            "src": "134:27:1"
 | 
						|
                          }
 | 
						|
                        ],
 | 
						|
                        "functionName":
 | 
						|
                        {
 | 
						|
                          "name": "iszero",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "127:6:1"
 | 
						|
                        },
 | 
						|
                        "nodeType": "YulFunctionCall",
 | 
						|
                        "src": "127:35:1"
 | 
						|
                      },
 | 
						|
                      "nodeType": "YulIf",
 | 
						|
                      "src": "124:2:1"
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                      "nodeType": "YulAssignment",
 | 
						|
                      "src": "188:30:1",
 | 
						|
                      "value":
 | 
						|
                      {
 | 
						|
                        "arguments":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "name": "offset",
 | 
						|
                            "nodeType": "YulIdentifier",
 | 
						|
                            "src": "211:6:1"
 | 
						|
                          }
 | 
						|
                        ],
 | 
						|
                        "functionName":
 | 
						|
                        {
 | 
						|
                          "name": "calldataload",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "198:12:1"
 | 
						|
                        },
 | 
						|
                        "nodeType": "YulFunctionCall",
 | 
						|
                        "src": "198:20:1"
 | 
						|
                      },
 | 
						|
                      "variableNames":
 | 
						|
                      [
 | 
						|
                        {
 | 
						|
                          "name": "length",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "188:6:1"
 | 
						|
                        }
 | 
						|
                      ]
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                      "body":
 | 
						|
                      {
 | 
						|
                        "nodeType": "YulBlock",
 | 
						|
                        "src": "261:16:1",
 | 
						|
                        "statements":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "expression":
 | 
						|
                            {
 | 
						|
                              "arguments":
 | 
						|
                              [
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "270:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                },
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "273:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                }
 | 
						|
                              ],
 | 
						|
                              "functionName":
 | 
						|
                              {
 | 
						|
                                "name": "revert",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "263:6:1"
 | 
						|
                              },
 | 
						|
                              "nodeType": "YulFunctionCall",
 | 
						|
                              "src": "263:12:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulExpressionStatement",
 | 
						|
                            "src": "263:12:1"
 | 
						|
                          }
 | 
						|
                        ]
 | 
						|
                      },
 | 
						|
                      "condition":
 | 
						|
                      {
 | 
						|
                        "arguments":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "name": "length",
 | 
						|
                            "nodeType": "YulIdentifier",
 | 
						|
                            "src": "233:6:1"
 | 
						|
                          },
 | 
						|
                          {
 | 
						|
                            "kind": "number",
 | 
						|
                            "nodeType": "YulLiteral",
 | 
						|
                            "src": "241:18:1",
 | 
						|
                            "type": "",
 | 
						|
                            "value": "0xffffffffffffffff"
 | 
						|
                          }
 | 
						|
                        ],
 | 
						|
                        "functionName":
 | 
						|
                        {
 | 
						|
                          "name": "gt",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "230:2:1"
 | 
						|
                        },
 | 
						|
                        "nodeType": "YulFunctionCall",
 | 
						|
                        "src": "230:30:1"
 | 
						|
                      },
 | 
						|
                      "nodeType": "YulIf",
 | 
						|
                      "src": "227:2:1"
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                      "nodeType": "YulAssignment",
 | 
						|
                      "src": "286:29:1",
 | 
						|
                      "value":
 | 
						|
                      {
 | 
						|
                        "arguments":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "name": "offset",
 | 
						|
                            "nodeType": "YulIdentifier",
 | 
						|
                            "src": "302:6:1"
 | 
						|
                          },
 | 
						|
                          {
 | 
						|
                            "kind": "number",
 | 
						|
                            "nodeType": "YulLiteral",
 | 
						|
                            "src": "310:4:1",
 | 
						|
                            "type": "",
 | 
						|
                            "value": "0x20"
 | 
						|
                          }
 | 
						|
                        ],
 | 
						|
                        "functionName":
 | 
						|
                        {
 | 
						|
                          "name": "add",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "298:3:1"
 | 
						|
                        },
 | 
						|
                        "nodeType": "YulFunctionCall",
 | 
						|
                        "src": "298:17:1"
 | 
						|
                      },
 | 
						|
                      "variableNames":
 | 
						|
                      [
 | 
						|
                        {
 | 
						|
                          "name": "arrayPos",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "286:8:1"
 | 
						|
                        }
 | 
						|
                      ]
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                      "body":
 | 
						|
                      {
 | 
						|
                        "nodeType": "YulBlock",
 | 
						|
                        "src": "369:16:1",
 | 
						|
                        "statements":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "expression":
 | 
						|
                            {
 | 
						|
                              "arguments":
 | 
						|
                              [
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "378:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                },
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "381:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                }
 | 
						|
                              ],
 | 
						|
                              "functionName":
 | 
						|
                              {
 | 
						|
                                "name": "revert",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "371:6:1"
 | 
						|
                              },
 | 
						|
                              "nodeType": "YulFunctionCall",
 | 
						|
                              "src": "371:12:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulExpressionStatement",
 | 
						|
                            "src": "371:12:1"
 | 
						|
                          }
 | 
						|
                        ]
 | 
						|
                      },
 | 
						|
                      "condition":
 | 
						|
                      {
 | 
						|
                        "arguments":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "arguments":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "name": "arrayPos",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "334:8:1"
 | 
						|
                              },
 | 
						|
                              {
 | 
						|
                                "arguments":
 | 
						|
                                [
 | 
						|
                                  {
 | 
						|
                                    "name": "length",
 | 
						|
                                    "nodeType": "YulIdentifier",
 | 
						|
                                    "src": "348:6:1"
 | 
						|
                                  },
 | 
						|
                                  {
 | 
						|
                                    "kind": "number",
 | 
						|
                                    "nodeType": "YulLiteral",
 | 
						|
                                    "src": "356:4:1",
 | 
						|
                                    "type": "",
 | 
						|
                                    "value": "0x20"
 | 
						|
                                  }
 | 
						|
                                ],
 | 
						|
                                "functionName":
 | 
						|
                                {
 | 
						|
                                  "name": "mul",
 | 
						|
                                  "nodeType": "YulIdentifier",
 | 
						|
                                  "src": "344:3:1"
 | 
						|
                                },
 | 
						|
                                "nodeType": "YulFunctionCall",
 | 
						|
                                "src": "344:17:1"
 | 
						|
                              }
 | 
						|
                            ],
 | 
						|
                            "functionName":
 | 
						|
                            {
 | 
						|
                              "name": "add",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "330:3:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulFunctionCall",
 | 
						|
                            "src": "330:32:1"
 | 
						|
                          },
 | 
						|
                          {
 | 
						|
                            "name": "end",
 | 
						|
                            "nodeType": "YulIdentifier",
 | 
						|
                            "src": "364:3:1"
 | 
						|
                          }
 | 
						|
                        ],
 | 
						|
                        "functionName":
 | 
						|
                        {
 | 
						|
                          "name": "gt",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "327:2:1"
 | 
						|
                        },
 | 
						|
                        "nodeType": "YulFunctionCall",
 | 
						|
                        "src": "327:41:1"
 | 
						|
                      },
 | 
						|
                      "nodeType": "YulIf",
 | 
						|
                      "src": "324:2:1"
 | 
						|
                    }
 | 
						|
                  ]
 | 
						|
                },
 | 
						|
                "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
 | 
						|
                "nodeType": "YulFunctionDefinition",
 | 
						|
                "parameters":
 | 
						|
                [
 | 
						|
                  {
 | 
						|
                    "name": "offset",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "81:6:1",
 | 
						|
                    "type": ""
 | 
						|
                  },
 | 
						|
                  {
 | 
						|
                    "name": "end",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "89:3:1",
 | 
						|
                    "type": ""
 | 
						|
                  }
 | 
						|
                ],
 | 
						|
                "returnVariables":
 | 
						|
                [
 | 
						|
                  {
 | 
						|
                    "name": "arrayPos",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "97:8:1",
 | 
						|
                    "type": ""
 | 
						|
                  },
 | 
						|
                  {
 | 
						|
                    "name": "length",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "107:6:1",
 | 
						|
                    "type": ""
 | 
						|
                  }
 | 
						|
                ],
 | 
						|
                "src": "24:367:1"
 | 
						|
              },
 | 
						|
              {
 | 
						|
                "body":
 | 
						|
                {
 | 
						|
                  "nodeType": "YulBlock",
 | 
						|
                  "src": "498:324:1",
 | 
						|
                  "statements":
 | 
						|
                  [
 | 
						|
                    {
 | 
						|
                      "body":
 | 
						|
                      {
 | 
						|
                        "nodeType": "YulBlock",
 | 
						|
                        "src": "544:16:1",
 | 
						|
                        "statements":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "expression":
 | 
						|
                            {
 | 
						|
                              "arguments":
 | 
						|
                              [
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "553:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                },
 | 
						|
                                {
 | 
						|
                                  "kind": "number",
 | 
						|
                                  "nodeType": "YulLiteral",
 | 
						|
                                  "src": "556:1:1",
 | 
						|
                                  "type": "",
 | 
						|
                                  "value": "0"
 | 
						|
                                }
 | 
						|
                              ],
 | 
						|
                              "functionName":
 | 
						|
                              {
 | 
						|
                                "name": "revert",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "546:6:1"
 | 
						|
                              },
 | 
						|
                              "nodeType": "YulFunctionCall",
 | 
						|
                              "src": "546:12:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulExpressionStatement",
 | 
						|
                            "src": "546:12:1"
 | 
						|
                          }
 | 
						|
                        ]
 | 
						|
                      },
 | 
						|
                      "condition":
 | 
						|
                      {
 | 
						|
                        "arguments":
 | 
						|
                        [
 | 
						|
                          {
 | 
						|
                            "arguments":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "name": "dataEnd",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "519:7:1"
 | 
						|
                              },
 | 
						|
                              {
 | 
						|
                                "name": "headStart",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "528:9:1"
 | 
						|
                              }
 | 
						|
                            ],
 | 
						|
                            "functionName":
 | 
						|
                            {
 | 
						|
                              "name": "sub",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "515:3:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulFunctionCall",
 | 
						|
                            "src": "515:23:1"
 | 
						|
                          },
 | 
						|
                          {
 | 
						|
                            "kind": "number",
 | 
						|
                            "nodeType": "YulLiteral",
 | 
						|
                            "src": "540:2:1",
 | 
						|
                            "type": "",
 | 
						|
                            "value": "32"
 | 
						|
                          }
 | 
						|
                        ],
 | 
						|
                        "functionName":
 | 
						|
                        {
 | 
						|
                          "name": "slt",
 | 
						|
                          "nodeType": "YulIdentifier",
 | 
						|
                          "src": "511:3:1"
 | 
						|
                        },
 | 
						|
                        "nodeType": "YulFunctionCall",
 | 
						|
                        "src": "511:32:1"
 | 
						|
                      },
 | 
						|
                      "nodeType": "YulIf",
 | 
						|
                      "src": "508:2:1"
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                      "nodeType": "YulBlock",
 | 
						|
                      "src": "570:245:1",
 | 
						|
                      "statements":
 | 
						|
                      [
 | 
						|
                        {
 | 
						|
                          "nodeType": "YulVariableDeclaration",
 | 
						|
                          "src": "585:45:1",
 | 
						|
                          "value":
 | 
						|
                          {
 | 
						|
                            "arguments":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "arguments":
 | 
						|
                                [
 | 
						|
                                  {
 | 
						|
                                    "name": "headStart",
 | 
						|
                                    "nodeType": "YulIdentifier",
 | 
						|
                                    "src": "616:9:1"
 | 
						|
                                  },
 | 
						|
                                  {
 | 
						|
                                    "kind": "number",
 | 
						|
                                    "nodeType": "YulLiteral",
 | 
						|
                                    "src": "627:1:1",
 | 
						|
                                    "type": "",
 | 
						|
                                    "value": "0"
 | 
						|
                                  }
 | 
						|
                                ],
 | 
						|
                                "functionName":
 | 
						|
                                {
 | 
						|
                                  "name": "add",
 | 
						|
                                  "nodeType": "YulIdentifier",
 | 
						|
                                  "src": "612:3:1"
 | 
						|
                                },
 | 
						|
                                "nodeType": "YulFunctionCall",
 | 
						|
                                "src": "612:17:1"
 | 
						|
                              }
 | 
						|
                            ],
 | 
						|
                            "functionName":
 | 
						|
                            {
 | 
						|
                              "name": "calldataload",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "599:12:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulFunctionCall",
 | 
						|
                            "src": "599:31:1"
 | 
						|
                          },
 | 
						|
                          "variables":
 | 
						|
                          [
 | 
						|
                            {
 | 
						|
                              "name": "offset",
 | 
						|
                              "nodeType": "YulTypedName",
 | 
						|
                              "src": "589:6:1",
 | 
						|
                              "type": ""
 | 
						|
                            }
 | 
						|
                          ]
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                          "body":
 | 
						|
                          {
 | 
						|
                            "nodeType": "YulBlock",
 | 
						|
                            "src": "677:16:1",
 | 
						|
                            "statements":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "expression":
 | 
						|
                                {
 | 
						|
                                  "arguments":
 | 
						|
                                  [
 | 
						|
                                    {
 | 
						|
                                      "kind": "number",
 | 
						|
                                      "nodeType": "YulLiteral",
 | 
						|
                                      "src": "686:1:1",
 | 
						|
                                      "type": "",
 | 
						|
                                      "value": "0"
 | 
						|
                                    },
 | 
						|
                                    {
 | 
						|
                                      "kind": "number",
 | 
						|
                                      "nodeType": "YulLiteral",
 | 
						|
                                      "src": "689:1:1",
 | 
						|
                                      "type": "",
 | 
						|
                                      "value": "0"
 | 
						|
                                    }
 | 
						|
                                  ],
 | 
						|
                                  "functionName":
 | 
						|
                                  {
 | 
						|
                                    "name": "revert",
 | 
						|
                                    "nodeType": "YulIdentifier",
 | 
						|
                                    "src": "679:6:1"
 | 
						|
                                  },
 | 
						|
                                  "nodeType": "YulFunctionCall",
 | 
						|
                                  "src": "679:12:1"
 | 
						|
                                },
 | 
						|
                                "nodeType": "YulExpressionStatement",
 | 
						|
                                "src": "679:12:1"
 | 
						|
                              }
 | 
						|
                            ]
 | 
						|
                          },
 | 
						|
                          "condition":
 | 
						|
                          {
 | 
						|
                            "arguments":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "name": "offset",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "649:6:1"
 | 
						|
                              },
 | 
						|
                              {
 | 
						|
                                "kind": "number",
 | 
						|
                                "nodeType": "YulLiteral",
 | 
						|
                                "src": "657:18:1",
 | 
						|
                                "type": "",
 | 
						|
                                "value": "0xffffffffffffffff"
 | 
						|
                              }
 | 
						|
                            ],
 | 
						|
                            "functionName":
 | 
						|
                            {
 | 
						|
                              "name": "gt",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "646:2:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulFunctionCall",
 | 
						|
                            "src": "646:30:1"
 | 
						|
                          },
 | 
						|
                          "nodeType": "YulIf",
 | 
						|
                          "src": "643:2:1"
 | 
						|
                        },
 | 
						|
                        {
 | 
						|
                          "nodeType": "YulAssignment",
 | 
						|
                          "src": "707:98:1",
 | 
						|
                          "value":
 | 
						|
                          {
 | 
						|
                            "arguments":
 | 
						|
                            [
 | 
						|
                              {
 | 
						|
                                "arguments":
 | 
						|
                                [
 | 
						|
                                  {
 | 
						|
                                    "name": "headStart",
 | 
						|
                                    "nodeType": "YulIdentifier",
 | 
						|
                                    "src": "777:9:1"
 | 
						|
                                  },
 | 
						|
                                  {
 | 
						|
                                    "name": "offset",
 | 
						|
                                    "nodeType": "YulIdentifier",
 | 
						|
                                    "src": "788:6:1"
 | 
						|
                                  }
 | 
						|
                                ],
 | 
						|
                                "functionName":
 | 
						|
                                {
 | 
						|
                                  "name": "add",
 | 
						|
                                  "nodeType": "YulIdentifier",
 | 
						|
                                  "src": "773:3:1"
 | 
						|
                                },
 | 
						|
                                "nodeType": "YulFunctionCall",
 | 
						|
                                "src": "773:22:1"
 | 
						|
                              },
 | 
						|
                              {
 | 
						|
                                "name": "dataEnd",
 | 
						|
                                "nodeType": "YulIdentifier",
 | 
						|
                                "src": "797:7:1"
 | 
						|
                              }
 | 
						|
                            ],
 | 
						|
                            "functionName":
 | 
						|
                            {
 | 
						|
                              "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "725:47:1"
 | 
						|
                            },
 | 
						|
                            "nodeType": "YulFunctionCall",
 | 
						|
                            "src": "725:80:1"
 | 
						|
                          },
 | 
						|
                          "variableNames":
 | 
						|
                          [
 | 
						|
                            {
 | 
						|
                              "name": "value0",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "707:6:1"
 | 
						|
                            },
 | 
						|
                            {
 | 
						|
                              "name": "value1",
 | 
						|
                              "nodeType": "YulIdentifier",
 | 
						|
                              "src": "715:6:1"
 | 
						|
                            }
 | 
						|
                          ]
 | 
						|
                        }
 | 
						|
                      ]
 | 
						|
                    }
 | 
						|
                  ]
 | 
						|
                },
 | 
						|
                "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
 | 
						|
                "nodeType": "YulFunctionDefinition",
 | 
						|
                "parameters":
 | 
						|
                [
 | 
						|
                  {
 | 
						|
                    "name": "headStart",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "460:9:1",
 | 
						|
                    "type": ""
 | 
						|
                  },
 | 
						|
                  {
 | 
						|
                    "name": "dataEnd",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "471:7:1",
 | 
						|
                    "type": ""
 | 
						|
                  }
 | 
						|
                ],
 | 
						|
                "returnVariables":
 | 
						|
                [
 | 
						|
                  {
 | 
						|
                    "name": "value0",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "483:6:1",
 | 
						|
                    "type": ""
 | 
						|
                  },
 | 
						|
                  {
 | 
						|
                    "name": "value1",
 | 
						|
                    "nodeType": "YulTypedName",
 | 
						|
                    "src": "491:6:1",
 | 
						|
                    "type": ""
 | 
						|
                  }
 | 
						|
                ],
 | 
						|
                "src": "397:425:1"
 | 
						|
              }
 | 
						|
            ]
 | 
						|
          },
 | 
						|
          "contents": "{\n\n    // uint256[]\n    function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\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(arrayPos, mul(length, 0x20)), end) { revert(0, 0) }\n    }\n\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n        {\n\n            let offset := calldataload(add(headStart, 0))\n            if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n            value0, value1 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n}\n",
 | 
						|
          "id": 1,
 | 
						|
          "language": "Yul",
 | 
						|
          "name": "#utility.yul"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    }
 | 
						|
  },
 | 
						|
  "version": "<VERSION REMOVED>"
 | 
						|
}
 |