{
  "contractName": "ACLSyntaxSugar",
  "abi": [],
  "bytecode": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a72305820ebb77a3b058d399f4a823be020cf66d9ef91fecd9edd7720525f438056ea57a80029",
  "deployedBytecode": "0x6060604052600080fd00a165627a7a72305820ebb77a3b058d399f4a823be020cf66d9ef91fecd9edd7720525f438056ea57a80029",
  "sourceMap": "26:2253:12:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "26:2253:12:-;;;;;",
  "source": "pragma solidity 0.4.18;\n\n\ncontract ACLSyntaxSugar {\n    function arr() internal pure returns (uint256[] r) {}\n\n    function arr(bytes32 _a) internal pure returns (uint256[] r) {\n        return arr(uint256(_a));\n    }\n\n    function arr(bytes32 _a, bytes32 _b) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), uint256(_b));\n    }\n\n    function arr(address _a) internal pure returns (uint256[] r) {\n        return arr(uint256(_a));\n    }\n\n    function arr(address _a, address _b) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), uint256(_b));\n    }\n\n    function arr(address _a, uint256 _b, uint256 _c) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), _b, _c);\n    }\n\n    function arr(address _a, uint256 _b) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), uint256(_b));\n    }\n\n    function arr(address _a, address _b, uint256 _c, uint256 _d, uint256 _e) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), uint256(_b), _c, _d, _e);\n    }\n\n    function arr(address _a, address _b, address _c) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), uint256(_b), uint256(_c));\n    }\n\n    function arr(address _a, address _b, uint256 _c) internal pure returns (uint256[] r) {\n        return arr(uint256(_a), uint256(_b), uint256(_c));\n    }\n\n    function arr(uint256 _a) internal pure returns (uint256[] r) {\n        r = new uint256[](1);\n        r[0] = _a;\n    }\n\n    function arr(uint256 _a, uint256 _b) internal pure returns (uint256[] r) {\n        r = new uint256[](2);\n        r[0] = _a;\n        r[1] = _b;\n    }\n\n    function arr(uint256 _a, uint256 _b, uint256 _c) internal pure returns (uint256[] r) {\n        r = new uint256[](3);\n        r[0] = _a;\n        r[1] = _b;\n        r[2] = _c;\n    }\n\n    function arr(uint256 _a, uint256 _b, uint256 _c, uint256 _d) internal pure returns (uint256[] r) {\n        r = new uint256[](4);\n        r[0] = _a;\n        r[1] = _b;\n        r[2] = _c;\n        r[3] = _d;\n    }\n\n    function arr(uint256 _a, uint256 _b, uint256 _c, uint256 _d, uint256 _e) internal pure returns (uint256[] r) {\n        r = new uint256[](5);\n        r[0] = _a;\n        r[1] = _b;\n        r[2] = _c;\n        r[3] = _d;\n        r[4] = _e;\n    }\n}\n\n\ncontract ACLHelpers {\n    function decodeParamOp(uint256 _x) internal pure returns (uint8 b) {\n        return uint8(_x >> (8 * 30));\n    }\n\n    function decodeParamId(uint256 _x) internal pure returns (uint8 b) {\n        return uint8(_x >> (8 * 31));\n    }\n\n    function decodeParamsList(uint256 _x) internal pure returns (uint32 a, uint32 b, uint32 c) {\n        a = uint32(_x);\n        b = uint32(_x >> (8 * 4));\n        c = uint32(_x >> (8 * 8));\n    }\n}\n",
  "sourcePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol",
  "ast": {
    "attributes": {
      "absolutePath": "@aragon/os/contracts/acl/ACLSyntaxSugar.sol",
      "exportedSymbols": {
        "ACLHelpers": [
          5980
        ],
        "ACLSyntaxSugar": [
          5905
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.4",
            ".18"
          ]
        },
        "id": 5512,
        "name": "PragmaDirective",
        "src": "0:23:12"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            5905
          ],
          "name": "ACLSyntaxSugar",
          "scope": 5981
        },
        "children": [
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 5513,
                "name": "ParameterList",
                "src": "68:2:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5519,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5514,
                            "name": "ElementaryTypeName",
                            "src": "94:7:12"
                          }
                        ],
                        "id": 5515,
                        "name": "ArrayTypeName",
                        "src": "94:9:12"
                      }
                    ],
                    "id": 5516,
                    "name": "VariableDeclaration",
                    "src": "94:11:12"
                  }
                ],
                "id": 5517,
                "name": "ParameterList",
                "src": "93:13:12"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 5518,
                "name": "Block",
                "src": "107:2:12"
              }
            ],
            "id": 5519,
            "name": "FunctionDefinition",
            "src": "56:53:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 5520,
                        "name": "ElementaryTypeName",
                        "src": "128:7:12"
                      }
                    ],
                    "id": 5521,
                    "name": "VariableDeclaration",
                    "src": "128:10:12"
                  }
                ],
                "id": 5522,
                "name": "ParameterList",
                "src": "127:12:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5523,
                            "name": "ElementaryTypeName",
                            "src": "163:7:12"
                          }
                        ],
                        "id": 5524,
                        "name": "ArrayTypeName",
                        "src": "163:9:12"
                      }
                    ],
                    "id": 5525,
                    "name": "VariableDeclaration",
                    "src": "163:11:12"
                  }
                ],
                "id": 5526,
                "name": "ParameterList",
                "src": "162:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5526
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5732,
                              "type": "function (uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5527,
                            "name": "Identifier",
                            "src": "193:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5528,
                                "name": "ElementaryTypeNameExpression",
                                "src": "197:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5521,
                                  "type": "bytes32",
                                  "value": "_a"
                                },
                                "id": 5529,
                                "name": "Identifier",
                                "src": "205:2:12"
                              }
                            ],
                            "id": 5530,
                            "name": "FunctionCall",
                            "src": "197:11:12"
                          }
                        ],
                        "id": 5531,
                        "name": "FunctionCall",
                        "src": "193:16:12"
                      }
                    ],
                    "id": 5532,
                    "name": "Return",
                    "src": "186:23:12"
                  }
                ],
                "id": 5533,
                "name": "Block",
                "src": "176:40:12"
              }
            ],
            "id": 5534,
            "name": "FunctionDefinition",
            "src": "115:101:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5554,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 5535,
                        "name": "ElementaryTypeName",
                        "src": "235:7:12"
                      }
                    ],
                    "id": 5536,
                    "name": "VariableDeclaration",
                    "src": "235:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5554,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 5537,
                        "name": "ElementaryTypeName",
                        "src": "247:7:12"
                      }
                    ],
                    "id": 5538,
                    "name": "VariableDeclaration",
                    "src": "247:10:12"
                  }
                ],
                "id": 5539,
                "name": "ParameterList",
                "src": "234:24:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5554,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5540,
                            "name": "ElementaryTypeName",
                            "src": "282:7:12"
                          }
                        ],
                        "id": 5541,
                        "name": "ArrayTypeName",
                        "src": "282:9:12"
                      }
                    ],
                    "id": 5542,
                    "name": "VariableDeclaration",
                    "src": "282:11:12"
                  }
                ],
                "id": 5543,
                "name": "ParameterList",
                "src": "281:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5543
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5763,
                              "type": "function (uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5544,
                            "name": "Identifier",
                            "src": "312:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5545,
                                "name": "ElementaryTypeNameExpression",
                                "src": "316:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5536,
                                  "type": "bytes32",
                                  "value": "_a"
                                },
                                "id": 5546,
                                "name": "Identifier",
                                "src": "324:2:12"
                              }
                            ],
                            "id": 5547,
                            "name": "FunctionCall",
                            "src": "316:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5548,
                                "name": "ElementaryTypeNameExpression",
                                "src": "329:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5538,
                                  "type": "bytes32",
                                  "value": "_b"
                                },
                                "id": 5549,
                                "name": "Identifier",
                                "src": "337:2:12"
                              }
                            ],
                            "id": 5550,
                            "name": "FunctionCall",
                            "src": "329:11:12"
                          }
                        ],
                        "id": 5551,
                        "name": "FunctionCall",
                        "src": "312:29:12"
                      }
                    ],
                    "id": 5552,
                    "name": "Return",
                    "src": "305:36:12"
                  }
                ],
                "id": 5553,
                "name": "Block",
                "src": "295:53:12"
              }
            ],
            "id": 5554,
            "name": "FunctionDefinition",
            "src": "222:126:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5569,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5555,
                        "name": "ElementaryTypeName",
                        "src": "367:7:12"
                      }
                    ],
                    "id": 5556,
                    "name": "VariableDeclaration",
                    "src": "367:10:12"
                  }
                ],
                "id": 5557,
                "name": "ParameterList",
                "src": "366:12:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5569,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5558,
                            "name": "ElementaryTypeName",
                            "src": "402:7:12"
                          }
                        ],
                        "id": 5559,
                        "name": "ArrayTypeName",
                        "src": "402:9:12"
                      }
                    ],
                    "id": 5560,
                    "name": "VariableDeclaration",
                    "src": "402:11:12"
                  }
                ],
                "id": 5561,
                "name": "ParameterList",
                "src": "401:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5561
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5732,
                              "type": "function (uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5562,
                            "name": "Identifier",
                            "src": "432:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5563,
                                "name": "ElementaryTypeNameExpression",
                                "src": "436:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5556,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5564,
                                "name": "Identifier",
                                "src": "444:2:12"
                              }
                            ],
                            "id": 5565,
                            "name": "FunctionCall",
                            "src": "436:11:12"
                          }
                        ],
                        "id": 5566,
                        "name": "FunctionCall",
                        "src": "432:16:12"
                      }
                    ],
                    "id": 5567,
                    "name": "Return",
                    "src": "425:23:12"
                  }
                ],
                "id": 5568,
                "name": "Block",
                "src": "415:40:12"
              }
            ],
            "id": 5569,
            "name": "FunctionDefinition",
            "src": "354:101:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5589,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5570,
                        "name": "ElementaryTypeName",
                        "src": "474:7:12"
                      }
                    ],
                    "id": 5571,
                    "name": "VariableDeclaration",
                    "src": "474:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5589,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5572,
                        "name": "ElementaryTypeName",
                        "src": "486:7:12"
                      }
                    ],
                    "id": 5573,
                    "name": "VariableDeclaration",
                    "src": "486:10:12"
                  }
                ],
                "id": 5574,
                "name": "ParameterList",
                "src": "473:24:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5589,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5575,
                            "name": "ElementaryTypeName",
                            "src": "521:7:12"
                          }
                        ],
                        "id": 5576,
                        "name": "ArrayTypeName",
                        "src": "521:9:12"
                      }
                    ],
                    "id": 5577,
                    "name": "VariableDeclaration",
                    "src": "521:11:12"
                  }
                ],
                "id": 5578,
                "name": "ParameterList",
                "src": "520:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5578
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5763,
                              "type": "function (uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5579,
                            "name": "Identifier",
                            "src": "551:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5580,
                                "name": "ElementaryTypeNameExpression",
                                "src": "555:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5571,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5581,
                                "name": "Identifier",
                                "src": "563:2:12"
                              }
                            ],
                            "id": 5582,
                            "name": "FunctionCall",
                            "src": "555:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5583,
                                "name": "ElementaryTypeNameExpression",
                                "src": "568:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5573,
                                  "type": "address",
                                  "value": "_b"
                                },
                                "id": 5584,
                                "name": "Identifier",
                                "src": "576:2:12"
                              }
                            ],
                            "id": 5585,
                            "name": "FunctionCall",
                            "src": "568:11:12"
                          }
                        ],
                        "id": 5586,
                        "name": "FunctionCall",
                        "src": "551:29:12"
                      }
                    ],
                    "id": 5587,
                    "name": "Return",
                    "src": "544:36:12"
                  }
                ],
                "id": 5588,
                "name": "Block",
                "src": "534:53:12"
              }
            ],
            "id": 5589,
            "name": "FunctionDefinition",
            "src": "461:126:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5610,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5590,
                        "name": "ElementaryTypeName",
                        "src": "606:7:12"
                      }
                    ],
                    "id": 5591,
                    "name": "VariableDeclaration",
                    "src": "606:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5610,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5592,
                        "name": "ElementaryTypeName",
                        "src": "618:7:12"
                      }
                    ],
                    "id": 5593,
                    "name": "VariableDeclaration",
                    "src": "618:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5610,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5594,
                        "name": "ElementaryTypeName",
                        "src": "630:7:12"
                      }
                    ],
                    "id": 5595,
                    "name": "VariableDeclaration",
                    "src": "630:10:12"
                  }
                ],
                "id": 5596,
                "name": "ParameterList",
                "src": "605:36:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5610,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5597,
                            "name": "ElementaryTypeName",
                            "src": "665:7:12"
                          }
                        ],
                        "id": 5598,
                        "name": "ArrayTypeName",
                        "src": "665:9:12"
                      }
                    ],
                    "id": 5599,
                    "name": "VariableDeclaration",
                    "src": "665:11:12"
                  }
                ],
                "id": 5600,
                "name": "ParameterList",
                "src": "664:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5600
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5802,
                              "type": "function (uint256,uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5601,
                            "name": "Identifier",
                            "src": "695:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5602,
                                "name": "ElementaryTypeNameExpression",
                                "src": "699:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5591,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5603,
                                "name": "Identifier",
                                "src": "707:2:12"
                              }
                            ],
                            "id": 5604,
                            "name": "FunctionCall",
                            "src": "699:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5593,
                              "type": "uint256",
                              "value": "_b"
                            },
                            "id": 5605,
                            "name": "Identifier",
                            "src": "712:2:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5595,
                              "type": "uint256",
                              "value": "_c"
                            },
                            "id": 5606,
                            "name": "Identifier",
                            "src": "716:2:12"
                          }
                        ],
                        "id": 5607,
                        "name": "FunctionCall",
                        "src": "695:24:12"
                      }
                    ],
                    "id": 5608,
                    "name": "Return",
                    "src": "688:31:12"
                  }
                ],
                "id": 5609,
                "name": "Block",
                "src": "678:48:12"
              }
            ],
            "id": 5610,
            "name": "FunctionDefinition",
            "src": "593:133:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5630,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5611,
                        "name": "ElementaryTypeName",
                        "src": "745:7:12"
                      }
                    ],
                    "id": 5612,
                    "name": "VariableDeclaration",
                    "src": "745:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5630,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5613,
                        "name": "ElementaryTypeName",
                        "src": "757:7:12"
                      }
                    ],
                    "id": 5614,
                    "name": "VariableDeclaration",
                    "src": "757:10:12"
                  }
                ],
                "id": 5615,
                "name": "ParameterList",
                "src": "744:24:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5630,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5616,
                            "name": "ElementaryTypeName",
                            "src": "792:7:12"
                          }
                        ],
                        "id": 5617,
                        "name": "ArrayTypeName",
                        "src": "792:9:12"
                      }
                    ],
                    "id": 5618,
                    "name": "VariableDeclaration",
                    "src": "792:11:12"
                  }
                ],
                "id": 5619,
                "name": "ParameterList",
                "src": "791:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5619
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5763,
                              "type": "function (uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5620,
                            "name": "Identifier",
                            "src": "822:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5621,
                                "name": "ElementaryTypeNameExpression",
                                "src": "826:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5612,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5622,
                                "name": "Identifier",
                                "src": "834:2:12"
                              }
                            ],
                            "id": 5623,
                            "name": "FunctionCall",
                            "src": "826:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5624,
                                "name": "ElementaryTypeNameExpression",
                                "src": "839:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5614,
                                  "type": "uint256",
                                  "value": "_b"
                                },
                                "id": 5625,
                                "name": "Identifier",
                                "src": "847:2:12"
                              }
                            ],
                            "id": 5626,
                            "name": "FunctionCall",
                            "src": "839:11:12"
                          }
                        ],
                        "id": 5627,
                        "name": "FunctionCall",
                        "src": "822:29:12"
                      }
                    ],
                    "id": 5628,
                    "name": "Return",
                    "src": "815:36:12"
                  }
                ],
                "id": 5629,
                "name": "Block",
                "src": "805:53:12"
              }
            ],
            "id": 5630,
            "name": "FunctionDefinition",
            "src": "732:126:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5659,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5631,
                        "name": "ElementaryTypeName",
                        "src": "877:7:12"
                      }
                    ],
                    "id": 5632,
                    "name": "VariableDeclaration",
                    "src": "877:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5659,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5633,
                        "name": "ElementaryTypeName",
                        "src": "889:7:12"
                      }
                    ],
                    "id": 5634,
                    "name": "VariableDeclaration",
                    "src": "889:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5659,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5635,
                        "name": "ElementaryTypeName",
                        "src": "901:7:12"
                      }
                    ],
                    "id": 5636,
                    "name": "VariableDeclaration",
                    "src": "901:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_d",
                      "scope": 5659,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5637,
                        "name": "ElementaryTypeName",
                        "src": "913:7:12"
                      }
                    ],
                    "id": 5638,
                    "name": "VariableDeclaration",
                    "src": "913:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_e",
                      "scope": 5659,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5639,
                        "name": "ElementaryTypeName",
                        "src": "925:7:12"
                      }
                    ],
                    "id": 5640,
                    "name": "VariableDeclaration",
                    "src": "925:10:12"
                  }
                ],
                "id": 5641,
                "name": "ParameterList",
                "src": "876:60:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5659,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5642,
                            "name": "ElementaryTypeName",
                            "src": "960:7:12"
                          }
                        ],
                        "id": 5643,
                        "name": "ArrayTypeName",
                        "src": "960:9:12"
                      }
                    ],
                    "id": 5644,
                    "name": "VariableDeclaration",
                    "src": "960:11:12"
                  }
                ],
                "id": 5645,
                "name": "ParameterList",
                "src": "959:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5645
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5904,
                              "type": "function (uint256,uint256,uint256,uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5646,
                            "name": "Identifier",
                            "src": "990:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5647,
                                "name": "ElementaryTypeNameExpression",
                                "src": "994:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5632,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5648,
                                "name": "Identifier",
                                "src": "1002:2:12"
                              }
                            ],
                            "id": 5649,
                            "name": "FunctionCall",
                            "src": "994:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5650,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1007:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5634,
                                  "type": "address",
                                  "value": "_b"
                                },
                                "id": 5651,
                                "name": "Identifier",
                                "src": "1015:2:12"
                              }
                            ],
                            "id": 5652,
                            "name": "FunctionCall",
                            "src": "1007:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5636,
                              "type": "uint256",
                              "value": "_c"
                            },
                            "id": 5653,
                            "name": "Identifier",
                            "src": "1020:2:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5638,
                              "type": "uint256",
                              "value": "_d"
                            },
                            "id": 5654,
                            "name": "Identifier",
                            "src": "1024:2:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5640,
                              "type": "uint256",
                              "value": "_e"
                            },
                            "id": 5655,
                            "name": "Identifier",
                            "src": "1028:2:12"
                          }
                        ],
                        "id": 5656,
                        "name": "FunctionCall",
                        "src": "990:41:12"
                      }
                    ],
                    "id": 5657,
                    "name": "Return",
                    "src": "983:48:12"
                  }
                ],
                "id": 5658,
                "name": "Block",
                "src": "973:65:12"
              }
            ],
            "id": 5659,
            "name": "FunctionDefinition",
            "src": "864:174:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5684,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5660,
                        "name": "ElementaryTypeName",
                        "src": "1057:7:12"
                      }
                    ],
                    "id": 5661,
                    "name": "VariableDeclaration",
                    "src": "1057:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5684,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5662,
                        "name": "ElementaryTypeName",
                        "src": "1069:7:12"
                      }
                    ],
                    "id": 5663,
                    "name": "VariableDeclaration",
                    "src": "1069:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5684,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5664,
                        "name": "ElementaryTypeName",
                        "src": "1081:7:12"
                      }
                    ],
                    "id": 5665,
                    "name": "VariableDeclaration",
                    "src": "1081:10:12"
                  }
                ],
                "id": 5666,
                "name": "ParameterList",
                "src": "1056:36:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5684,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5667,
                            "name": "ElementaryTypeName",
                            "src": "1116:7:12"
                          }
                        ],
                        "id": 5668,
                        "name": "ArrayTypeName",
                        "src": "1116:9:12"
                      }
                    ],
                    "id": 5669,
                    "name": "VariableDeclaration",
                    "src": "1116:11:12"
                  }
                ],
                "id": 5670,
                "name": "ParameterList",
                "src": "1115:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5670
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5802,
                              "type": "function (uint256,uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5671,
                            "name": "Identifier",
                            "src": "1146:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5672,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1150:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5661,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5673,
                                "name": "Identifier",
                                "src": "1158:2:12"
                              }
                            ],
                            "id": 5674,
                            "name": "FunctionCall",
                            "src": "1150:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5675,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1163:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5663,
                                  "type": "address",
                                  "value": "_b"
                                },
                                "id": 5676,
                                "name": "Identifier",
                                "src": "1171:2:12"
                              }
                            ],
                            "id": 5677,
                            "name": "FunctionCall",
                            "src": "1163:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5678,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1176:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5665,
                                  "type": "address",
                                  "value": "_c"
                                },
                                "id": 5679,
                                "name": "Identifier",
                                "src": "1184:2:12"
                              }
                            ],
                            "id": 5680,
                            "name": "FunctionCall",
                            "src": "1176:11:12"
                          }
                        ],
                        "id": 5681,
                        "name": "FunctionCall",
                        "src": "1146:42:12"
                      }
                    ],
                    "id": 5682,
                    "name": "Return",
                    "src": "1139:49:12"
                  }
                ],
                "id": 5683,
                "name": "Block",
                "src": "1129:66:12"
              }
            ],
            "id": 5684,
            "name": "FunctionDefinition",
            "src": "1044:151:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5685,
                        "name": "ElementaryTypeName",
                        "src": "1214:7:12"
                      }
                    ],
                    "id": 5686,
                    "name": "VariableDeclaration",
                    "src": "1214:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 5687,
                        "name": "ElementaryTypeName",
                        "src": "1226:7:12"
                      }
                    ],
                    "id": 5688,
                    "name": "VariableDeclaration",
                    "src": "1226:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5689,
                        "name": "ElementaryTypeName",
                        "src": "1238:7:12"
                      }
                    ],
                    "id": 5690,
                    "name": "VariableDeclaration",
                    "src": "1238:10:12"
                  }
                ],
                "id": 5691,
                "name": "ParameterList",
                "src": "1213:36:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5709,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5692,
                            "name": "ElementaryTypeName",
                            "src": "1273:7:12"
                          }
                        ],
                        "id": 5693,
                        "name": "ArrayTypeName",
                        "src": "1273:9:12"
                      }
                    ],
                    "id": 5694,
                    "name": "VariableDeclaration",
                    "src": "1273:11:12"
                  }
                ],
                "id": 5695,
                "name": "ParameterList",
                "src": "1272:13:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5695
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                5519,
                                5534,
                                5554,
                                5569,
                                5589,
                                5610,
                                5630,
                                5659,
                                5684,
                                5709,
                                5732,
                                5763,
                                5802,
                                5849,
                                5904
                              ],
                              "referencedDeclaration": 5802,
                              "type": "function (uint256,uint256,uint256) pure returns (uint256[] memory)",
                              "value": "arr"
                            },
                            "id": 5696,
                            "name": "Identifier",
                            "src": "1303:3:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5697,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1307:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5686,
                                  "type": "address",
                                  "value": "_a"
                                },
                                "id": 5698,
                                "name": "Identifier",
                                "src": "1315:2:12"
                              }
                            ],
                            "id": 5699,
                            "name": "FunctionCall",
                            "src": "1307:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5700,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1320:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5688,
                                  "type": "address",
                                  "value": "_b"
                                },
                                "id": 5701,
                                "name": "Identifier",
                                "src": "1328:2:12"
                              }
                            ],
                            "id": 5702,
                            "name": "FunctionCall",
                            "src": "1320:11:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint256"
                                },
                                "id": 5703,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1333:7:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5690,
                                  "type": "uint256",
                                  "value": "_c"
                                },
                                "id": 5704,
                                "name": "Identifier",
                                "src": "1341:2:12"
                              }
                            ],
                            "id": 5705,
                            "name": "FunctionCall",
                            "src": "1333:11:12"
                          }
                        ],
                        "id": 5706,
                        "name": "FunctionCall",
                        "src": "1303:42:12"
                      }
                    ],
                    "id": 5707,
                    "name": "Return",
                    "src": "1296:49:12"
                  }
                ],
                "id": 5708,
                "name": "Block",
                "src": "1286:66:12"
              }
            ],
            "id": 5709,
            "name": "FunctionDefinition",
            "src": "1201:151:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5732,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5710,
                        "name": "ElementaryTypeName",
                        "src": "1371:7:12"
                      }
                    ],
                    "id": 5711,
                    "name": "VariableDeclaration",
                    "src": "1371:10:12"
                  }
                ],
                "id": 5712,
                "name": "ParameterList",
                "src": "1370:12:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5732,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5713,
                            "name": "ElementaryTypeName",
                            "src": "1406:7:12"
                          }
                        ],
                        "id": 5714,
                        "name": "ArrayTypeName",
                        "src": "1406:9:12"
                      }
                    ],
                    "id": 5715,
                    "name": "VariableDeclaration",
                    "src": "1406:11:12"
                  }
                ],
                "id": 5716,
                "name": "ParameterList",
                "src": "1405:13:12"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256[] memory"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5715,
                              "type": "uint256[] memory",
                              "value": "r"
                            },
                            "id": 5717,
                            "name": "Identifier",
                            "src": "1429:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256[] memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (uint256[] memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "length": null,
                                      "type": "uint256[] storage pointer"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "uint256",
                                          "type": "uint256"
                                        },
                                        "id": 5718,
                                        "name": "ElementaryTypeName",
                                        "src": "1437:7:12"
                                      }
                                    ],
                                    "id": 5719,
                                    "name": "ArrayTypeName",
                                    "src": "1437:9:12"
                                  }
                                ],
                                "id": 5720,
                                "name": "NewExpression",
                                "src": "1433:13:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 5721,
                                "name": "Literal",
                                "src": "1447:1:12"
                              }
                            ],
                            "id": 5722,
                            "name": "FunctionCall",
                            "src": "1433:16:12"
                          }
                        ],
                        "id": 5723,
                        "name": "Assignment",
                        "src": "1429:20:12"
                      }
                    ],
                    "id": 5724,
                    "name": "ExpressionStatement",
                    "src": "1429:20:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5715,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5725,
                                "name": "Identifier",
                                "src": "1459:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 5726,
                                "name": "Literal",
                                "src": "1461:1:12"
                              }
                            ],
                            "id": 5727,
                            "name": "IndexAccess",
                            "src": "1459:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5711,
                              "type": "uint256",
                              "value": "_a"
                            },
                            "id": 5728,
                            "name": "Identifier",
                            "src": "1466:2:12"
                          }
                        ],
                        "id": 5729,
                        "name": "Assignment",
                        "src": "1459:9:12"
                      }
                    ],
                    "id": 5730,
                    "name": "ExpressionStatement",
                    "src": "1459:9:12"
                  }
                ],
                "id": 5731,
                "name": "Block",
                "src": "1419:56:12"
              }
            ],
            "id": 5732,
            "name": "FunctionDefinition",
            "src": "1358:117:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5763,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5733,
                        "name": "ElementaryTypeName",
                        "src": "1494:7:12"
                      }
                    ],
                    "id": 5734,
                    "name": "VariableDeclaration",
                    "src": "1494:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5763,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5735,
                        "name": "ElementaryTypeName",
                        "src": "1506:7:12"
                      }
                    ],
                    "id": 5736,
                    "name": "VariableDeclaration",
                    "src": "1506:10:12"
                  }
                ],
                "id": 5737,
                "name": "ParameterList",
                "src": "1493:24:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5763,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5738,
                            "name": "ElementaryTypeName",
                            "src": "1541:7:12"
                          }
                        ],
                        "id": 5739,
                        "name": "ArrayTypeName",
                        "src": "1541:9:12"
                      }
                    ],
                    "id": 5740,
                    "name": "VariableDeclaration",
                    "src": "1541:11:12"
                  }
                ],
                "id": 5741,
                "name": "ParameterList",
                "src": "1540:13:12"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256[] memory"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5740,
                              "type": "uint256[] memory",
                              "value": "r"
                            },
                            "id": 5742,
                            "name": "Identifier",
                            "src": "1564:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256[] memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_2_by_1",
                                      "typeString": "int_const 2"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (uint256[] memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "length": null,
                                      "type": "uint256[] storage pointer"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "uint256",
                                          "type": "uint256"
                                        },
                                        "id": 5743,
                                        "name": "ElementaryTypeName",
                                        "src": "1572:7:12"
                                      }
                                    ],
                                    "id": 5744,
                                    "name": "ArrayTypeName",
                                    "src": "1572:9:12"
                                  }
                                ],
                                "id": 5745,
                                "name": "NewExpression",
                                "src": "1568:13:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "32",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 2",
                                  "value": "2"
                                },
                                "id": 5746,
                                "name": "Literal",
                                "src": "1582:1:12"
                              }
                            ],
                            "id": 5747,
                            "name": "FunctionCall",
                            "src": "1568:16:12"
                          }
                        ],
                        "id": 5748,
                        "name": "Assignment",
                        "src": "1564:20:12"
                      }
                    ],
                    "id": 5749,
                    "name": "ExpressionStatement",
                    "src": "1564:20:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5740,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5750,
                                "name": "Identifier",
                                "src": "1594:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 5751,
                                "name": "Literal",
                                "src": "1596:1:12"
                              }
                            ],
                            "id": 5752,
                            "name": "IndexAccess",
                            "src": "1594:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5734,
                              "type": "uint256",
                              "value": "_a"
                            },
                            "id": 5753,
                            "name": "Identifier",
                            "src": "1601:2:12"
                          }
                        ],
                        "id": 5754,
                        "name": "Assignment",
                        "src": "1594:9:12"
                      }
                    ],
                    "id": 5755,
                    "name": "ExpressionStatement",
                    "src": "1594:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5740,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5756,
                                "name": "Identifier",
                                "src": "1613:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 5757,
                                "name": "Literal",
                                "src": "1615:1:12"
                              }
                            ],
                            "id": 5758,
                            "name": "IndexAccess",
                            "src": "1613:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5736,
                              "type": "uint256",
                              "value": "_b"
                            },
                            "id": 5759,
                            "name": "Identifier",
                            "src": "1620:2:12"
                          }
                        ],
                        "id": 5760,
                        "name": "Assignment",
                        "src": "1613:9:12"
                      }
                    ],
                    "id": 5761,
                    "name": "ExpressionStatement",
                    "src": "1613:9:12"
                  }
                ],
                "id": 5762,
                "name": "Block",
                "src": "1554:75:12"
              }
            ],
            "id": 5763,
            "name": "FunctionDefinition",
            "src": "1481:148:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5802,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5764,
                        "name": "ElementaryTypeName",
                        "src": "1648:7:12"
                      }
                    ],
                    "id": 5765,
                    "name": "VariableDeclaration",
                    "src": "1648:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5802,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5766,
                        "name": "ElementaryTypeName",
                        "src": "1660:7:12"
                      }
                    ],
                    "id": 5767,
                    "name": "VariableDeclaration",
                    "src": "1660:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5802,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5768,
                        "name": "ElementaryTypeName",
                        "src": "1672:7:12"
                      }
                    ],
                    "id": 5769,
                    "name": "VariableDeclaration",
                    "src": "1672:10:12"
                  }
                ],
                "id": 5770,
                "name": "ParameterList",
                "src": "1647:36:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5802,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5771,
                            "name": "ElementaryTypeName",
                            "src": "1707:7:12"
                          }
                        ],
                        "id": 5772,
                        "name": "ArrayTypeName",
                        "src": "1707:9:12"
                      }
                    ],
                    "id": 5773,
                    "name": "VariableDeclaration",
                    "src": "1707:11:12"
                  }
                ],
                "id": 5774,
                "name": "ParameterList",
                "src": "1706:13:12"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256[] memory"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5773,
                              "type": "uint256[] memory",
                              "value": "r"
                            },
                            "id": 5775,
                            "name": "Identifier",
                            "src": "1730:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256[] memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_3_by_1",
                                      "typeString": "int_const 3"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (uint256[] memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "length": null,
                                      "type": "uint256[] storage pointer"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "uint256",
                                          "type": "uint256"
                                        },
                                        "id": 5776,
                                        "name": "ElementaryTypeName",
                                        "src": "1738:7:12"
                                      }
                                    ],
                                    "id": 5777,
                                    "name": "ArrayTypeName",
                                    "src": "1738:9:12"
                                  }
                                ],
                                "id": 5778,
                                "name": "NewExpression",
                                "src": "1734:13:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "33",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 3",
                                  "value": "3"
                                },
                                "id": 5779,
                                "name": "Literal",
                                "src": "1748:1:12"
                              }
                            ],
                            "id": 5780,
                            "name": "FunctionCall",
                            "src": "1734:16:12"
                          }
                        ],
                        "id": 5781,
                        "name": "Assignment",
                        "src": "1730:20:12"
                      }
                    ],
                    "id": 5782,
                    "name": "ExpressionStatement",
                    "src": "1730:20:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5773,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5783,
                                "name": "Identifier",
                                "src": "1760:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 5784,
                                "name": "Literal",
                                "src": "1762:1:12"
                              }
                            ],
                            "id": 5785,
                            "name": "IndexAccess",
                            "src": "1760:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5765,
                              "type": "uint256",
                              "value": "_a"
                            },
                            "id": 5786,
                            "name": "Identifier",
                            "src": "1767:2:12"
                          }
                        ],
                        "id": 5787,
                        "name": "Assignment",
                        "src": "1760:9:12"
                      }
                    ],
                    "id": 5788,
                    "name": "ExpressionStatement",
                    "src": "1760:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5773,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5789,
                                "name": "Identifier",
                                "src": "1779:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 5790,
                                "name": "Literal",
                                "src": "1781:1:12"
                              }
                            ],
                            "id": 5791,
                            "name": "IndexAccess",
                            "src": "1779:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5767,
                              "type": "uint256",
                              "value": "_b"
                            },
                            "id": 5792,
                            "name": "Identifier",
                            "src": "1786:2:12"
                          }
                        ],
                        "id": 5793,
                        "name": "Assignment",
                        "src": "1779:9:12"
                      }
                    ],
                    "id": 5794,
                    "name": "ExpressionStatement",
                    "src": "1779:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5773,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5795,
                                "name": "Identifier",
                                "src": "1798:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "32",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 2",
                                  "value": "2"
                                },
                                "id": 5796,
                                "name": "Literal",
                                "src": "1800:1:12"
                              }
                            ],
                            "id": 5797,
                            "name": "IndexAccess",
                            "src": "1798:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5769,
                              "type": "uint256",
                              "value": "_c"
                            },
                            "id": 5798,
                            "name": "Identifier",
                            "src": "1805:2:12"
                          }
                        ],
                        "id": 5799,
                        "name": "Assignment",
                        "src": "1798:9:12"
                      }
                    ],
                    "id": 5800,
                    "name": "ExpressionStatement",
                    "src": "1798:9:12"
                  }
                ],
                "id": 5801,
                "name": "Block",
                "src": "1720:94:12"
              }
            ],
            "id": 5802,
            "name": "FunctionDefinition",
            "src": "1635:179:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5849,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5803,
                        "name": "ElementaryTypeName",
                        "src": "1833:7:12"
                      }
                    ],
                    "id": 5804,
                    "name": "VariableDeclaration",
                    "src": "1833:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5849,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5805,
                        "name": "ElementaryTypeName",
                        "src": "1845:7:12"
                      }
                    ],
                    "id": 5806,
                    "name": "VariableDeclaration",
                    "src": "1845:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5849,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5807,
                        "name": "ElementaryTypeName",
                        "src": "1857:7:12"
                      }
                    ],
                    "id": 5808,
                    "name": "VariableDeclaration",
                    "src": "1857:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_d",
                      "scope": 5849,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5809,
                        "name": "ElementaryTypeName",
                        "src": "1869:7:12"
                      }
                    ],
                    "id": 5810,
                    "name": "VariableDeclaration",
                    "src": "1869:10:12"
                  }
                ],
                "id": 5811,
                "name": "ParameterList",
                "src": "1832:48:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5849,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5812,
                            "name": "ElementaryTypeName",
                            "src": "1904:7:12"
                          }
                        ],
                        "id": 5813,
                        "name": "ArrayTypeName",
                        "src": "1904:9:12"
                      }
                    ],
                    "id": 5814,
                    "name": "VariableDeclaration",
                    "src": "1904:11:12"
                  }
                ],
                "id": 5815,
                "name": "ParameterList",
                "src": "1903:13:12"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256[] memory"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5814,
                              "type": "uint256[] memory",
                              "value": "r"
                            },
                            "id": 5816,
                            "name": "Identifier",
                            "src": "1927:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256[] memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_4_by_1",
                                      "typeString": "int_const 4"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (uint256[] memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "length": null,
                                      "type": "uint256[] storage pointer"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "uint256",
                                          "type": "uint256"
                                        },
                                        "id": 5817,
                                        "name": "ElementaryTypeName",
                                        "src": "1935:7:12"
                                      }
                                    ],
                                    "id": 5818,
                                    "name": "ArrayTypeName",
                                    "src": "1935:9:12"
                                  }
                                ],
                                "id": 5819,
                                "name": "NewExpression",
                                "src": "1931:13:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "34",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 4",
                                  "value": "4"
                                },
                                "id": 5820,
                                "name": "Literal",
                                "src": "1945:1:12"
                              }
                            ],
                            "id": 5821,
                            "name": "FunctionCall",
                            "src": "1931:16:12"
                          }
                        ],
                        "id": 5822,
                        "name": "Assignment",
                        "src": "1927:20:12"
                      }
                    ],
                    "id": 5823,
                    "name": "ExpressionStatement",
                    "src": "1927:20:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5814,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5824,
                                "name": "Identifier",
                                "src": "1957:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 5825,
                                "name": "Literal",
                                "src": "1959:1:12"
                              }
                            ],
                            "id": 5826,
                            "name": "IndexAccess",
                            "src": "1957:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5804,
                              "type": "uint256",
                              "value": "_a"
                            },
                            "id": 5827,
                            "name": "Identifier",
                            "src": "1964:2:12"
                          }
                        ],
                        "id": 5828,
                        "name": "Assignment",
                        "src": "1957:9:12"
                      }
                    ],
                    "id": 5829,
                    "name": "ExpressionStatement",
                    "src": "1957:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5814,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5830,
                                "name": "Identifier",
                                "src": "1976:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 5831,
                                "name": "Literal",
                                "src": "1978:1:12"
                              }
                            ],
                            "id": 5832,
                            "name": "IndexAccess",
                            "src": "1976:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5806,
                              "type": "uint256",
                              "value": "_b"
                            },
                            "id": 5833,
                            "name": "Identifier",
                            "src": "1983:2:12"
                          }
                        ],
                        "id": 5834,
                        "name": "Assignment",
                        "src": "1976:9:12"
                      }
                    ],
                    "id": 5835,
                    "name": "ExpressionStatement",
                    "src": "1976:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5814,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5836,
                                "name": "Identifier",
                                "src": "1995:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "32",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 2",
                                  "value": "2"
                                },
                                "id": 5837,
                                "name": "Literal",
                                "src": "1997:1:12"
                              }
                            ],
                            "id": 5838,
                            "name": "IndexAccess",
                            "src": "1995:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5808,
                              "type": "uint256",
                              "value": "_c"
                            },
                            "id": 5839,
                            "name": "Identifier",
                            "src": "2002:2:12"
                          }
                        ],
                        "id": 5840,
                        "name": "Assignment",
                        "src": "1995:9:12"
                      }
                    ],
                    "id": 5841,
                    "name": "ExpressionStatement",
                    "src": "1995:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5814,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5842,
                                "name": "Identifier",
                                "src": "2014:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "33",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 3",
                                  "value": "3"
                                },
                                "id": 5843,
                                "name": "Literal",
                                "src": "2016:1:12"
                              }
                            ],
                            "id": 5844,
                            "name": "IndexAccess",
                            "src": "2014:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5810,
                              "type": "uint256",
                              "value": "_d"
                            },
                            "id": 5845,
                            "name": "Identifier",
                            "src": "2021:2:12"
                          }
                        ],
                        "id": 5846,
                        "name": "Assignment",
                        "src": "2014:9:12"
                      }
                    ],
                    "id": 5847,
                    "name": "ExpressionStatement",
                    "src": "2014:9:12"
                  }
                ],
                "id": 5848,
                "name": "Block",
                "src": "1917:113:12"
              }
            ],
            "id": 5849,
            "name": "FunctionDefinition",
            "src": "1820:210:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "arr",
              "payable": false,
              "scope": 5905,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_a",
                      "scope": 5904,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5850,
                        "name": "ElementaryTypeName",
                        "src": "2049:7:12"
                      }
                    ],
                    "id": 5851,
                    "name": "VariableDeclaration",
                    "src": "2049:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_b",
                      "scope": 5904,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5852,
                        "name": "ElementaryTypeName",
                        "src": "2061:7:12"
                      }
                    ],
                    "id": 5853,
                    "name": "VariableDeclaration",
                    "src": "2061:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_c",
                      "scope": 5904,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5854,
                        "name": "ElementaryTypeName",
                        "src": "2073:7:12"
                      }
                    ],
                    "id": 5855,
                    "name": "VariableDeclaration",
                    "src": "2073:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_d",
                      "scope": 5904,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5856,
                        "name": "ElementaryTypeName",
                        "src": "2085:7:12"
                      }
                    ],
                    "id": 5857,
                    "name": "VariableDeclaration",
                    "src": "2085:10:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_e",
                      "scope": 5904,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5858,
                        "name": "ElementaryTypeName",
                        "src": "2097:7:12"
                      }
                    ],
                    "id": 5859,
                    "name": "VariableDeclaration",
                    "src": "2097:10:12"
                  }
                ],
                "id": 5860,
                "name": "ParameterList",
                "src": "2048:60:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "r",
                      "scope": 5904,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 5861,
                            "name": "ElementaryTypeName",
                            "src": "2132:7:12"
                          }
                        ],
                        "id": 5862,
                        "name": "ArrayTypeName",
                        "src": "2132:9:12"
                      }
                    ],
                    "id": 5863,
                    "name": "VariableDeclaration",
                    "src": "2132:11:12"
                  }
                ],
                "id": 5864,
                "name": "ParameterList",
                "src": "2131:13:12"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256[] memory"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5863,
                              "type": "uint256[] memory",
                              "value": "r"
                            },
                            "id": 5865,
                            "name": "Identifier",
                            "src": "2155:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256[] memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_5_by_1",
                                      "typeString": "int_const 5"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "function (uint256) pure returns (uint256[] memory)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "length": null,
                                      "type": "uint256[] storage pointer"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "uint256",
                                          "type": "uint256"
                                        },
                                        "id": 5866,
                                        "name": "ElementaryTypeName",
                                        "src": "2163:7:12"
                                      }
                                    ],
                                    "id": 5867,
                                    "name": "ArrayTypeName",
                                    "src": "2163:9:12"
                                  }
                                ],
                                "id": 5868,
                                "name": "NewExpression",
                                "src": "2159:13:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "35",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 5",
                                  "value": "5"
                                },
                                "id": 5869,
                                "name": "Literal",
                                "src": "2173:1:12"
                              }
                            ],
                            "id": 5870,
                            "name": "FunctionCall",
                            "src": "2159:16:12"
                          }
                        ],
                        "id": 5871,
                        "name": "Assignment",
                        "src": "2155:20:12"
                      }
                    ],
                    "id": 5872,
                    "name": "ExpressionStatement",
                    "src": "2155:20:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5863,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5873,
                                "name": "Identifier",
                                "src": "2185:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 5874,
                                "name": "Literal",
                                "src": "2187:1:12"
                              }
                            ],
                            "id": 5875,
                            "name": "IndexAccess",
                            "src": "2185:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5851,
                              "type": "uint256",
                              "value": "_a"
                            },
                            "id": 5876,
                            "name": "Identifier",
                            "src": "2192:2:12"
                          }
                        ],
                        "id": 5877,
                        "name": "Assignment",
                        "src": "2185:9:12"
                      }
                    ],
                    "id": 5878,
                    "name": "ExpressionStatement",
                    "src": "2185:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5863,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5879,
                                "name": "Identifier",
                                "src": "2204:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 5880,
                                "name": "Literal",
                                "src": "2206:1:12"
                              }
                            ],
                            "id": 5881,
                            "name": "IndexAccess",
                            "src": "2204:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5853,
                              "type": "uint256",
                              "value": "_b"
                            },
                            "id": 5882,
                            "name": "Identifier",
                            "src": "2211:2:12"
                          }
                        ],
                        "id": 5883,
                        "name": "Assignment",
                        "src": "2204:9:12"
                      }
                    ],
                    "id": 5884,
                    "name": "ExpressionStatement",
                    "src": "2204:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5863,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5885,
                                "name": "Identifier",
                                "src": "2223:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "32",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 2",
                                  "value": "2"
                                },
                                "id": 5886,
                                "name": "Literal",
                                "src": "2225:1:12"
                              }
                            ],
                            "id": 5887,
                            "name": "IndexAccess",
                            "src": "2223:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5855,
                              "type": "uint256",
                              "value": "_c"
                            },
                            "id": 5888,
                            "name": "Identifier",
                            "src": "2230:2:12"
                          }
                        ],
                        "id": 5889,
                        "name": "Assignment",
                        "src": "2223:9:12"
                      }
                    ],
                    "id": 5890,
                    "name": "ExpressionStatement",
                    "src": "2223:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5863,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5891,
                                "name": "Identifier",
                                "src": "2242:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "33",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 3",
                                  "value": "3"
                                },
                                "id": 5892,
                                "name": "Literal",
                                "src": "2244:1:12"
                              }
                            ],
                            "id": 5893,
                            "name": "IndexAccess",
                            "src": "2242:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5857,
                              "type": "uint256",
                              "value": "_d"
                            },
                            "id": 5894,
                            "name": "Identifier",
                            "src": "2249:2:12"
                          }
                        ],
                        "id": 5895,
                        "name": "Assignment",
                        "src": "2242:9:12"
                      }
                    ],
                    "id": 5896,
                    "name": "ExpressionStatement",
                    "src": "2242:9:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5863,
                                  "type": "uint256[] memory",
                                  "value": "r"
                                },
                                "id": 5897,
                                "name": "Identifier",
                                "src": "2261:1:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "34",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 4",
                                  "value": "4"
                                },
                                "id": 5898,
                                "name": "Literal",
                                "src": "2263:1:12"
                              }
                            ],
                            "id": 5899,
                            "name": "IndexAccess",
                            "src": "2261:4:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5859,
                              "type": "uint256",
                              "value": "_e"
                            },
                            "id": 5900,
                            "name": "Identifier",
                            "src": "2268:2:12"
                          }
                        ],
                        "id": 5901,
                        "name": "Assignment",
                        "src": "2261:9:12"
                      }
                    ],
                    "id": 5902,
                    "name": "ExpressionStatement",
                    "src": "2261:9:12"
                  }
                ],
                "id": 5903,
                "name": "Block",
                "src": "2145:132:12"
              }
            ],
            "id": 5904,
            "name": "FunctionDefinition",
            "src": "2036:241:12"
          }
        ],
        "id": 5905,
        "name": "ContractDefinition",
        "src": "26:2253:12"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            5980
          ],
          "name": "ACLHelpers",
          "scope": 5981
        },
        "children": [
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "decodeParamOp",
              "payable": false,
              "scope": 5980,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_x",
                      "scope": 5922,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5906,
                        "name": "ElementaryTypeName",
                        "src": "2331:7:12"
                      }
                    ],
                    "id": 5907,
                    "name": "VariableDeclaration",
                    "src": "2331:10:12"
                  }
                ],
                "id": 5908,
                "name": "ParameterList",
                "src": "2330:12:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "b",
                      "scope": 5922,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 5909,
                        "name": "ElementaryTypeName",
                        "src": "2366:5:12"
                      }
                    ],
                    "id": 5910,
                    "name": "VariableDeclaration",
                    "src": "2366:7:12"
                  }
                ],
                "id": 5911,
                "name": "ParameterList",
                "src": "2365:9:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5911
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint8",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "type": "type(uint8)",
                              "value": "uint8"
                            },
                            "id": 5912,
                            "name": "ElementaryTypeNameExpression",
                            "src": "2392:5:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">>",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5907,
                                  "type": "uint256",
                                  "value": "_x"
                                },
                                "id": 5913,
                                "name": "Identifier",
                                "src": "2398:2:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "int_const 240"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_rational_240_by_1",
                                        "typeString": "int_const 240"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "operator": "*",
                                      "type": "int_const 240"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "38",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 8",
                                          "value": "8"
                                        },
                                        "id": 5914,
                                        "name": "Literal",
                                        "src": "2405:1:12"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "3330",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 30",
                                          "value": "30"
                                        },
                                        "id": 5915,
                                        "name": "Literal",
                                        "src": "2409:2:12"
                                      }
                                    ],
                                    "id": 5916,
                                    "name": "BinaryOperation",
                                    "src": "2405:6:12"
                                  }
                                ],
                                "id": 5917,
                                "name": "TupleExpression",
                                "src": "2404:8:12"
                              }
                            ],
                            "id": 5918,
                            "name": "BinaryOperation",
                            "src": "2398:14:12"
                          }
                        ],
                        "id": 5919,
                        "name": "FunctionCall",
                        "src": "2392:21:12"
                      }
                    ],
                    "id": 5920,
                    "name": "Return",
                    "src": "2385:28:12"
                  }
                ],
                "id": 5921,
                "name": "Block",
                "src": "2375:45:12"
              }
            ],
            "id": 5922,
            "name": "FunctionDefinition",
            "src": "2308:112:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "decodeParamId",
              "payable": false,
              "scope": 5980,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_x",
                      "scope": 5939,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5923,
                        "name": "ElementaryTypeName",
                        "src": "2449:7:12"
                      }
                    ],
                    "id": 5924,
                    "name": "VariableDeclaration",
                    "src": "2449:10:12"
                  }
                ],
                "id": 5925,
                "name": "ParameterList",
                "src": "2448:12:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "b",
                      "scope": 5939,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 5926,
                        "name": "ElementaryTypeName",
                        "src": "2484:5:12"
                      }
                    ],
                    "id": 5927,
                    "name": "VariableDeclaration",
                    "src": "2484:7:12"
                  }
                ],
                "id": 5928,
                "name": "ParameterList",
                "src": "2483:9:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 5928
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint8",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "type": "type(uint8)",
                              "value": "uint8"
                            },
                            "id": 5929,
                            "name": "ElementaryTypeNameExpression",
                            "src": "2510:5:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">>",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5924,
                                  "type": "uint256",
                                  "value": "_x"
                                },
                                "id": 5930,
                                "name": "Identifier",
                                "src": "2516:2:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "int_const 248"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_rational_248_by_1",
                                        "typeString": "int_const 248"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "operator": "*",
                                      "type": "int_const 248"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "38",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 8",
                                          "value": "8"
                                        },
                                        "id": 5931,
                                        "name": "Literal",
                                        "src": "2523:1:12"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "3331",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 31",
                                          "value": "31"
                                        },
                                        "id": 5932,
                                        "name": "Literal",
                                        "src": "2527:2:12"
                                      }
                                    ],
                                    "id": 5933,
                                    "name": "BinaryOperation",
                                    "src": "2523:6:12"
                                  }
                                ],
                                "id": 5934,
                                "name": "TupleExpression",
                                "src": "2522:8:12"
                              }
                            ],
                            "id": 5935,
                            "name": "BinaryOperation",
                            "src": "2516:14:12"
                          }
                        ],
                        "id": 5936,
                        "name": "FunctionCall",
                        "src": "2510:21:12"
                      }
                    ],
                    "id": 5937,
                    "name": "Return",
                    "src": "2503:28:12"
                  }
                ],
                "id": 5938,
                "name": "Block",
                "src": "2493:45:12"
              }
            ],
            "id": 5939,
            "name": "FunctionDefinition",
            "src": "2426:112:12"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "decodeParamsList",
              "payable": false,
              "scope": 5980,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_x",
                      "scope": 5979,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 5940,
                        "name": "ElementaryTypeName",
                        "src": "2570:7:12"
                      }
                    ],
                    "id": 5941,
                    "name": "VariableDeclaration",
                    "src": "2570:10:12"
                  }
                ],
                "id": 5942,
                "name": "ParameterList",
                "src": "2569:12:12"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "a",
                      "scope": 5979,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint32",
                          "type": "uint32"
                        },
                        "id": 5943,
                        "name": "ElementaryTypeName",
                        "src": "2605:6:12"
                      }
                    ],
                    "id": 5944,
                    "name": "VariableDeclaration",
                    "src": "2605:8:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "b",
                      "scope": 5979,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint32",
                          "type": "uint32"
                        },
                        "id": 5945,
                        "name": "ElementaryTypeName",
                        "src": "2615:6:12"
                      }
                    ],
                    "id": 5946,
                    "name": "VariableDeclaration",
                    "src": "2615:8:12"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "c",
                      "scope": 5979,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint32",
                          "type": "uint32"
                        },
                        "id": 5947,
                        "name": "ElementaryTypeName",
                        "src": "2625:6:12"
                      }
                    ],
                    "id": 5948,
                    "name": "VariableDeclaration",
                    "src": "2625:8:12"
                  }
                ],
                "id": 5949,
                "name": "ParameterList",
                "src": "2604:30:12"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5944,
                              "type": "uint32",
                              "value": "a"
                            },
                            "id": 5950,
                            "name": "Identifier",
                            "src": "2645:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint32",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint32)",
                                  "value": "uint32"
                                },
                                "id": 5951,
                                "name": "ElementaryTypeNameExpression",
                                "src": "2649:6:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5941,
                                  "type": "uint256",
                                  "value": "_x"
                                },
                                "id": 5952,
                                "name": "Identifier",
                                "src": "2656:2:12"
                              }
                            ],
                            "id": 5953,
                            "name": "FunctionCall",
                            "src": "2649:10:12"
                          }
                        ],
                        "id": 5954,
                        "name": "Assignment",
                        "src": "2645:14:12"
                      }
                    ],
                    "id": 5955,
                    "name": "ExpressionStatement",
                    "src": "2645:14:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5946,
                              "type": "uint32",
                              "value": "b"
                            },
                            "id": 5956,
                            "name": "Identifier",
                            "src": "2669:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint32",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint32)",
                                  "value": "uint32"
                                },
                                "id": 5957,
                                "name": "ElementaryTypeNameExpression",
                                "src": "2673:6:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">>",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 5941,
                                      "type": "uint256",
                                      "value": "_x"
                                    },
                                    "id": 5958,
                                    "name": "Identifier",
                                    "src": "2680:2:12"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "int_const 32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_rational_32_by_1",
                                            "typeString": "int_const 32"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "operator": "*",
                                          "type": "int_const 32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "38",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 8",
                                              "value": "8"
                                            },
                                            "id": 5959,
                                            "name": "Literal",
                                            "src": "2687:1:12"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "34",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 4",
                                              "value": "4"
                                            },
                                            "id": 5960,
                                            "name": "Literal",
                                            "src": "2691:1:12"
                                          }
                                        ],
                                        "id": 5961,
                                        "name": "BinaryOperation",
                                        "src": "2687:5:12"
                                      }
                                    ],
                                    "id": 5962,
                                    "name": "TupleExpression",
                                    "src": "2686:7:12"
                                  }
                                ],
                                "id": 5963,
                                "name": "BinaryOperation",
                                "src": "2680:13:12"
                              }
                            ],
                            "id": 5964,
                            "name": "FunctionCall",
                            "src": "2673:21:12"
                          }
                        ],
                        "id": 5965,
                        "name": "Assignment",
                        "src": "2669:25:12"
                      }
                    ],
                    "id": 5966,
                    "name": "ExpressionStatement",
                    "src": "2669:25:12"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5948,
                              "type": "uint32",
                              "value": "c"
                            },
                            "id": 5967,
                            "name": "Identifier",
                            "src": "2704:1:12"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint32",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint32)",
                                  "value": "uint32"
                                },
                                "id": 5968,
                                "name": "ElementaryTypeNameExpression",
                                "src": "2708:6:12"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": ">>",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 5941,
                                      "type": "uint256",
                                      "value": "_x"
                                    },
                                    "id": 5969,
                                    "name": "Identifier",
                                    "src": "2715:2:12"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "int_const 64"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_rational_64_by_1",
                                            "typeString": "int_const 64"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "operator": "*",
                                          "type": "int_const 64"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "38",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 8",
                                              "value": "8"
                                            },
                                            "id": 5970,
                                            "name": "Literal",
                                            "src": "2722:1:12"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "38",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 8",
                                              "value": "8"
                                            },
                                            "id": 5971,
                                            "name": "Literal",
                                            "src": "2726:1:12"
                                          }
                                        ],
                                        "id": 5972,
                                        "name": "BinaryOperation",
                                        "src": "2722:5:12"
                                      }
                                    ],
                                    "id": 5973,
                                    "name": "TupleExpression",
                                    "src": "2721:7:12"
                                  }
                                ],
                                "id": 5974,
                                "name": "BinaryOperation",
                                "src": "2715:13:12"
                              }
                            ],
                            "id": 5975,
                            "name": "FunctionCall",
                            "src": "2708:21:12"
                          }
                        ],
                        "id": 5976,
                        "name": "Assignment",
                        "src": "2704:25:12"
                      }
                    ],
                    "id": 5977,
                    "name": "ExpressionStatement",
                    "src": "2704:25:12"
                  }
                ],
                "id": 5978,
                "name": "Block",
                "src": "2635:101:12"
              }
            ],
            "id": 5979,
            "name": "FunctionDefinition",
            "src": "2544:192:12"
          }
        ],
        "id": 5980,
        "name": "ContractDefinition",
        "src": "2282:456:12"
      }
    ],
    "id": 5981,
    "name": "SourceUnit",
    "src": "0:2739:12"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-14T08:41:25.084Z"
}