-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompiled_code.json
More file actions
1 lines (1 loc) · 65.8 KB
/
compiled_code.json
File metadata and controls
1 lines (1 loc) · 65.8 KB
1
{"contracts": {"patientRecordContract.sol": {"PatientRecord": {"abi": [{"inputs": [{"internalType": "uint256", "name": "pw", "type": "uint256"}], "name": "getCovidResultByPassword", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "id", "type": "uint256"}], "name": "getData", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "pw", "type": "uint256"}], "name": "getDataByPassword", "outputs": [{"components": [{"internalType": "uint256", "name": "id", "type": "uint256"}, {"internalType": "uint8", "name": "covid19_Res", "type": "uint8"}, {"internalType": "string", "name": "aggregation", "type": "string"}], "internalType": "struct PatientRecord.People", "name": "", "type": "tuple"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "getPassword", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [], "name": "getPeopleRecordTotalNum", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "getTotal", "outputs": [{"components": [{"internalType": "uint256", "name": "id", "type": "uint256"}, {"internalType": "uint8", "name": "covid19_Res", "type": "uint8"}, {"internalType": "string", "name": "aggregation", "type": "string"}], "internalType": "struct PatientRecord.People[]", "name": "", "type": "tuple[]"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "helloWorld", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "pure", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "idToPeople", "outputs": [{"internalType": "uint256", "name": "id", "type": "uint256"}, {"internalType": "uint8", "name": "covid19_Res", "type": "uint8"}, {"internalType": "string", "name": "aggregation", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "people", "outputs": [{"internalType": "uint256", "name": "id", "type": "uint256"}, {"internalType": "uint8", "name": "covid19_Res", "type": "uint8"}, {"internalType": "string", "name": "aggregation", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "privatePasswordToPeople", "outputs": [{"internalType": "uint256", "name": "id", "type": "uint256"}, {"internalType": "uint8", "name": "covid19_Res", "type": "uint8"}, {"internalType": "string", "name": "aggregation", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint8", "name": "covid19_Res", "type": "uint8"}, {"internalType": "string", "name": "aggregation", "type": "string"}], "name": "storeData", "outputs": [], "stateMutability": "nonpayable", "type": "function"}], "evm": {"bytecode": {"generatedSources": [{"ast": {"nodeType": "YulBlock", "src": "0:2605:1", "statements": [{"body": {"nodeType": "YulBlock", "src": "80:775:1", "statements": [{"nodeType": "YulAssignment", "src": "90:15:1", "value": {"name": "_power", "nodeType": "YulIdentifier", "src": "99:6:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "90:5:1"}]}, {"nodeType": "YulAssignment", "src": "114:14:1", "value": {"name": "_base", "nodeType": "YulIdentifier", "src": "123:5:1"}, "variableNames": [{"name": "base", "nodeType": "YulIdentifier", "src": "114:4:1"}]}, {"body": {"nodeType": "YulBlock", "src": "172:677:1", "statements": [{"body": {"nodeType": "YulBlock", "src": "260:22:1", "statements": [{"expression": {"arguments": [], "functionName": {"name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "262:16:1"}, "nodeType": "YulFunctionCall", "src": "262:18:1"}, "nodeType": "YulExpressionStatement", "src": "262:18:1"}]}, "condition": {"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "238:4:1"}, {"arguments": [{"name": "max", "nodeType": "YulIdentifier", "src": "248:3:1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "253:4:1"}], "functionName": {"name": "div", "nodeType": "YulIdentifier", "src": "244:3:1"}, "nodeType": "YulFunctionCall", "src": "244:14:1"}], "functionName": {"name": "gt", "nodeType": "YulIdentifier", "src": "235:2:1"}, "nodeType": "YulFunctionCall", "src": "235:24:1"}, "nodeType": "YulIf", "src": "232:2:1"}, {"body": {"nodeType": "YulBlock", "src": "327:419:1", "statements": [{"nodeType": "YulAssignment", "src": "707:25:1", "value": {"arguments": [{"name": "power", "nodeType": "YulIdentifier", "src": "720:5:1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "727:4:1"}], "functionName": {"name": "mul", "nodeType": "YulIdentifier", "src": "716:3:1"}, "nodeType": "YulFunctionCall", "src": "716:16:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "707:5:1"}]}]}, "condition": {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "302:8:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "312:1:1", "type": "", "value": "1"}], "functionName": {"name": "and", "nodeType": "YulIdentifier", "src": "298:3:1"}, "nodeType": "YulFunctionCall", "src": "298:16:1"}, "nodeType": "YulIf", "src": "295:2:1"}, {"nodeType": "YulAssignment", "src": "759:23:1", "value": {"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "771:4:1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "777:4:1"}], "functionName": {"name": "mul", "nodeType": "YulIdentifier", "src": "767:3:1"}, "nodeType": "YulFunctionCall", "src": "767:15:1"}, "variableNames": [{"name": "base", "nodeType": "YulIdentifier", "src": "759:4:1"}]}, {"nodeType": "YulAssignment", "src": "795:44:1", "value": {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "830:8:1"}], "functionName": {"name": "shift_right_1_unsigned", "nodeType": "YulIdentifier", "src": "807:22:1"}, "nodeType": "YulFunctionCall", "src": "807:32:1"}, "variableNames": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "795:8:1"}]}]}, "condition": {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "148:8:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "158:1:1", "type": "", "value": "1"}], "functionName": {"name": "gt", "nodeType": "YulIdentifier", "src": "145:2:1"}, "nodeType": "YulFunctionCall", "src": "145:15:1"}, "nodeType": "YulForLoop", "post": {"nodeType": "YulBlock", "src": "161:2:1", "statements": []}, "pre": {"nodeType": "YulBlock", "src": "141:3:1", "statements": []}, "src": "137:712:1"}]}, "name": "checked_exp_helper", "nodeType": "YulFunctionDefinition", "parameters": [{"name": "_power", "nodeType": "YulTypedName", "src": "35:6:1", "type": ""}, {"name": "_base", "nodeType": "YulTypedName", "src": "43:5:1", "type": ""}, {"name": "exponent", "nodeType": "YulTypedName", "src": "50:8:1", "type": ""}, {"name": "max", "nodeType": "YulTypedName", "src": "60:3:1", "type": ""}], "returnVariables": [{"name": "power", "nodeType": "YulTypedName", "src": "68:5:1", "type": ""}, {"name": "base", "nodeType": "YulTypedName", "src": "75:4:1", "type": ""}], "src": "7:848:1"}, {"body": {"nodeType": "YulBlock", "src": "927:219:1", "statements": [{"nodeType": "YulAssignment", "src": "937:31:1", "value": {"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "963:4:1"}], "functionName": {"name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "945:17:1"}, "nodeType": "YulFunctionCall", "src": "945:23:1"}, "variableNames": [{"name": "base", "nodeType": "YulIdentifier", "src": "937:4:1"}]}, {"nodeType": "YulAssignment", "src": "977:39:1", "value": {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "1007:8:1"}], "functionName": {"name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "989:17:1"}, "nodeType": "YulFunctionCall", "src": "989:27:1"}, "variableNames": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "977:8:1"}]}, {"nodeType": "YulAssignment", "src": "1026:113:1", "value": {"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "1056:4:1"}, {"name": "exponent", "nodeType": "YulIdentifier", "src": "1062:8:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "1072:66:1", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}], "functionName": {"name": "checked_exp_unsigned", "nodeType": "YulIdentifier", "src": "1035:20:1"}, "nodeType": "YulFunctionCall", "src": "1035:104:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "1026:5:1"}]}]}, "name": "checked_exp_t_uint256_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [{"name": "base", "nodeType": "YulTypedName", "src": "902:4:1", "type": ""}, {"name": "exponent", "nodeType": "YulTypedName", "src": "908:8:1", "type": ""}], "returnVariables": [{"name": "power", "nodeType": "YulTypedName", "src": "921:5:1", "type": ""}], "src": "861:285:1"}, {"body": {"nodeType": "YulBlock", "src": "1212:1013:1", "statements": [{"body": {"nodeType": "YulBlock", "src": "1407:20:1", "statements": [{"nodeType": "YulAssignment", "src": "1409:10:1", "value": {"kind": "number", "nodeType": "YulLiteral", "src": "1418:1:1", "type": "", "value": "1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "1409:5:1"}]}, {"nodeType": "YulLeave", "src": "1420:5:1"}]}, "condition": {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "1397:8:1"}], "functionName": {"name": "iszero", "nodeType": "YulIdentifier", "src": "1390:6:1"}, "nodeType": "YulFunctionCall", "src": "1390:16:1"}, "nodeType": "YulIf", "src": "1387:2:1"}, {"body": {"nodeType": "YulBlock", "src": "1452:20:1", "statements": [{"nodeType": "YulAssignment", "src": "1454:10:1", "value": {"kind": "number", "nodeType": "YulLiteral", "src": "1463:1:1", "type": "", "value": "0"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "1454:5:1"}]}, {"nodeType": "YulLeave", "src": "1465:5:1"}]}, "condition": {"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "1446:4:1"}], "functionName": {"name": "iszero", "nodeType": "YulIdentifier", "src": "1439:6:1"}, "nodeType": "YulFunctionCall", "src": "1439:12:1"}, "nodeType": "YulIf", "src": "1436:2:1"}, {"cases": [{"body": {"nodeType": "YulBlock", "src": "1582:20:1", "statements": [{"nodeType": "YulAssignment", "src": "1584:10:1", "value": {"kind": "number", "nodeType": "YulLiteral", "src": "1593:1:1", "type": "", "value": "1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "1584:5:1"}]}, {"nodeType": "YulLeave", "src": "1595:5:1"}]}, "nodeType": "YulCase", "src": "1575:27:1", "value": {"kind": "number", "nodeType": "YulLiteral", "src": "1580:1:1", "type": "", "value": "1"}}, {"body": {"nodeType": "YulBlock", "src": "1626:176:1", "statements": [{"body": {"nodeType": "YulBlock", "src": "1661:22:1", "statements": [{"expression": {"arguments": [], "functionName": {"name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "1663:16:1"}, "nodeType": "YulFunctionCall", "src": "1663:18:1"}, "nodeType": "YulExpressionStatement", "src": "1663:18:1"}]}, "condition": {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "1646:8:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "1656:3:1", "type": "", "value": "255"}], "functionName": {"name": "gt", "nodeType": "YulIdentifier", "src": "1643:2:1"}, "nodeType": "YulFunctionCall", "src": "1643:17:1"}, "nodeType": "YulIf", "src": "1640:2:1"}, {"nodeType": "YulAssignment", "src": "1696:25:1", "value": {"arguments": [{"kind": "number", "nodeType": "YulLiteral", "src": "1709:1:1", "type": "", "value": "2"}, {"name": "exponent", "nodeType": "YulIdentifier", "src": "1712:8:1"}], "functionName": {"name": "exp", "nodeType": "YulIdentifier", "src": "1705:3:1"}, "nodeType": "YulFunctionCall", "src": "1705:16:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "1696:5:1"}]}, {"body": {"nodeType": "YulBlock", "src": "1752:22:1", "statements": [{"expression": {"arguments": [], "functionName": {"name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "1754:16:1"}, "nodeType": "YulFunctionCall", "src": "1754:18:1"}, "nodeType": "YulExpressionStatement", "src": "1754:18:1"}]}, "condition": {"arguments": [{"name": "power", "nodeType": "YulIdentifier", "src": "1740:5:1"}, {"name": "max", "nodeType": "YulIdentifier", "src": "1747:3:1"}], "functionName": {"name": "gt", "nodeType": "YulIdentifier", "src": "1737:2:1"}, "nodeType": "YulFunctionCall", "src": "1737:14:1"}, "nodeType": "YulIf", "src": "1734:2:1"}, {"nodeType": "YulLeave", "src": "1787:5:1"}]}, "nodeType": "YulCase", "src": "1611:191:1", "value": {"kind": "number", "nodeType": "YulLiteral", "src": "1616:1:1", "type": "", "value": "2"}}], "expression": {"name": "base", "nodeType": "YulIdentifier", "src": "1532:4:1"}, "nodeType": "YulSwitch", "src": "1525:277:1"}, {"body": {"nodeType": "YulBlock", "src": "1934:123:1", "statements": [{"nodeType": "YulAssignment", "src": "1948:28:1", "value": {"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "1961:4:1"}, {"name": "exponent", "nodeType": "YulIdentifier", "src": "1967:8:1"}], "functionName": {"name": "exp", "nodeType": "YulIdentifier", "src": "1957:3:1"}, "nodeType": "YulFunctionCall", "src": "1957:19:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "1948:5:1"}]}, {"body": {"nodeType": "YulBlock", "src": "2007:22:1", "statements": [{"expression": {"arguments": [], "functionName": {"name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "2009:16:1"}, "nodeType": "YulFunctionCall", "src": "2009:18:1"}, "nodeType": "YulExpressionStatement", "src": "2009:18:1"}]}, "condition": {"arguments": [{"name": "power", "nodeType": "YulIdentifier", "src": "1995:5:1"}, {"name": "max", "nodeType": "YulIdentifier", "src": "2002:3:1"}], "functionName": {"name": "gt", "nodeType": "YulIdentifier", "src": "1992:2:1"}, "nodeType": "YulFunctionCall", "src": "1992:14:1"}, "nodeType": "YulIf", "src": "1989:2:1"}, {"nodeType": "YulLeave", "src": "2042:5:1"}]}, "condition": {"arguments": [{"arguments": [{"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "1837:4:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "1843:2:1", "type": "", "value": "11"}], "functionName": {"name": "lt", "nodeType": "YulIdentifier", "src": "1834:2:1"}, "nodeType": "YulFunctionCall", "src": "1834:12:1"}, {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "1851:8:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "1861:2:1", "type": "", "value": "78"}], "functionName": {"name": "lt", "nodeType": "YulIdentifier", "src": "1848:2:1"}, "nodeType": "YulFunctionCall", "src": "1848:16:1"}], "functionName": {"name": "and", "nodeType": "YulIdentifier", "src": "1830:3:1"}, "nodeType": "YulFunctionCall", "src": "1830:35:1"}, {"arguments": [{"arguments": [{"name": "base", "nodeType": "YulIdentifier", "src": "1886:4:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "1892:3:1", "type": "", "value": "307"}], "functionName": {"name": "lt", "nodeType": "YulIdentifier", "src": "1883:2:1"}, "nodeType": "YulFunctionCall", "src": "1883:13:1"}, {"arguments": [{"name": "exponent", "nodeType": "YulIdentifier", "src": "1901:8:1"}, {"kind": "number", "nodeType": "YulLiteral", "src": "1911:2:1", "type": "", "value": "32"}], "functionName": {"name": "lt", "nodeType": "YulIdentifier", "src": "1898:2:1"}, "nodeType": "YulFunctionCall", "src": "1898:16:1"}], "functionName": {"name": "and", "nodeType": "YulIdentifier", "src": "1879:3:1"}, "nodeType": "YulFunctionCall", "src": "1879:36:1"}], "functionName": {"name": "or", "nodeType": "YulIdentifier", "src": "1814:2:1"}, "nodeType": "YulFunctionCall", "src": "1814:111:1"}, "nodeType": "YulIf", "src": "1811:2:1"}, {"nodeType": "YulAssignment", "src": "2067:57:1", "value": {"arguments": [{"kind": "number", "nodeType": "YulLiteral", "src": "2101:1:1", "type": "", "value": "1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "2104:4:1"}, {"name": "exponent", "nodeType": "YulIdentifier", "src": "2110:8:1"}, {"name": "max", "nodeType": "YulIdentifier", "src": "2120:3:1"}], "functionName": {"name": "checked_exp_helper", "nodeType": "YulIdentifier", "src": "2082:18:1"}, "nodeType": "YulFunctionCall", "src": "2082:42:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "2067:5:1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "2074:4:1"}]}, {"body": {"nodeType": "YulBlock", "src": "2163:22:1", "statements": [{"expression": {"arguments": [], "functionName": {"name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "2165:16:1"}, "nodeType": "YulFunctionCall", "src": "2165:18:1"}, "nodeType": "YulExpressionStatement", "src": "2165:18:1"}]}, "condition": {"arguments": [{"name": "power", "nodeType": "YulIdentifier", "src": "2140:5:1"}, {"arguments": [{"name": "max", "nodeType": "YulIdentifier", "src": "2151:3:1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "2156:4:1"}], "functionName": {"name": "div", "nodeType": "YulIdentifier", "src": "2147:3:1"}, "nodeType": "YulFunctionCall", "src": "2147:14:1"}], "functionName": {"name": "gt", "nodeType": "YulIdentifier", "src": "2137:2:1"}, "nodeType": "YulFunctionCall", "src": "2137:25:1"}, "nodeType": "YulIf", "src": "2134:2:1"}, {"nodeType": "YulAssignment", "src": "2194:25:1", "value": {"arguments": [{"name": "power", "nodeType": "YulIdentifier", "src": "2207:5:1"}, {"name": "base", "nodeType": "YulIdentifier", "src": "2214:4:1"}], "functionName": {"name": "mul", "nodeType": "YulIdentifier", "src": "2203:3:1"}, "nodeType": "YulFunctionCall", "src": "2203:16:1"}, "variableNames": [{"name": "power", "nodeType": "YulIdentifier", "src": "2194:5:1"}]}]}, "name": "checked_exp_unsigned", "nodeType": "YulFunctionDefinition", "parameters": [{"name": "base", "nodeType": "YulTypedName", "src": "1182:4:1", "type": ""}, {"name": "exponent", "nodeType": "YulTypedName", "src": "1188:8:1", "type": ""}, {"name": "max", "nodeType": "YulTypedName", "src": "1198:3:1", "type": ""}], "returnVariables": [{"name": "power", "nodeType": "YulTypedName", "src": "1206:5:1", "type": ""}], "src": "1152:1073:1"}, {"body": {"nodeType": "YulBlock", "src": "2276:32:1", "statements": [{"nodeType": "YulAssignment", "src": "2286:16:1", "value": {"name": "value", "nodeType": "YulIdentifier", "src": "2297:5:1"}, "variableNames": [{"name": "cleaned", "nodeType": "YulIdentifier", "src": "2286:7:1"}]}]}, "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [{"name": "value", "nodeType": "YulTypedName", "src": "2258:5:1", "type": ""}], "returnVariables": [{"name": "cleaned", "nodeType": "YulTypedName", "src": "2268:7:1", "type": ""}], "src": "2231:77:1"}, {"body": {"nodeType": "YulBlock", "src": "2342:152:1", "statements": [{"expression": {"arguments": [{"kind": "number", "nodeType": "YulLiteral", "src": "2359:1:1", "type": "", "value": "0"}, {"kind": "number", "nodeType": "YulLiteral", "src": "2362:77:1", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"}], "functionName": {"name": "mstore", "nodeType": "YulIdentifier", "src": "2352:6:1"}, "nodeType": "YulFunctionCall", "src": "2352:88:1"}, "nodeType": "YulExpressionStatement", "src": "2352:88:1"}, {"expression": {"arguments": [{"kind": "number", "nodeType": "YulLiteral", "src": "2456:1:1", "type": "", "value": "4"}, {"kind": "number", "nodeType": "YulLiteral", "src": "2459:4:1", "type": "", "value": "0x11"}], "functionName": {"name": "mstore", "nodeType": "YulIdentifier", "src": "2449:6:1"}, "nodeType": "YulFunctionCall", "src": "2449:15:1"}, "nodeType": "YulExpressionStatement", "src": "2449:15:1"}, {"expression": {"arguments": [{"kind": "number", "nodeType": "YulLiteral", "src": "2480:1:1", "type": "", "value": "0"}, {"kind": "number", "nodeType": "YulLiteral", "src": "2483:4:1", "type": "", "value": "0x24"}], "functionName": {"name": "revert", "nodeType": "YulIdentifier", "src": "2473:6:1"}, "nodeType": "YulFunctionCall", "src": "2473:15:1"}, "nodeType": "YulExpressionStatement", "src": "2473:15:1"}]}, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", "src": "2314:180:1"}, {"body": {"nodeType": "YulBlock", "src": "2551:51:1", "statements": [{"nodeType": "YulAssignment", "src": "2561:34:1", "value": {"arguments": [{"kind": "number", "nodeType": "YulLiteral", "src": "2586:1:1", "type": "", "value": "1"}, {"name": "value", "nodeType": "YulIdentifier", "src": "2589:5:1"}], "functionName": {"name": "shr", "nodeType": "YulIdentifier", "src": "2582:3:1"}, "nodeType": "YulFunctionCall", "src": "2582:13:1"}, "variableNames": [{"name": "newValue", "nodeType": "YulIdentifier", "src": "2561:8:1"}]}]}, "name": "shift_right_1_unsigned", "nodeType": "YulFunctionDefinition", "parameters": [{"name": "value", "nodeType": "YulTypedName", "src": "2532:5:1", "type": ""}], "returnVariables": [{"name": "newValue", "nodeType": "YulTypedName", "src": "2542:8:1", "type": ""}], "src": "2500:102:1"}]}, "contents": "{\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n}\n", "id": 1, "language": "Yul", "name": "#utility.yul"}], "linkReferences": {}, "object": "60806040526010600055600054600a6200001a919062000096565b600155600060025560006003553480156200003457600080fd5b5062000219565b6000808291508390505b60018511156200008d57808604811115620000655762000064620001dd565b5b6001851615620000755780820291505b808102905062000085856200020c565b945062000045565b94509492505050565b6000620000a382620001d3565b9150620000b083620001d3565b9250620000df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620000e7565b905092915050565b600082620000f95760019050620001cc565b81620001095760009050620001cc565b81600181146200012257600281146200012d5762000163565b6001915050620001cc565b60ff841115620001425762000141620001dd565b5b8360020a9150848211156200015c576200015b620001dd565b5b50620001cc565b5060208310610133831016604e8410600b84101617156200019d5782820a905083811115620001975762000196620001dd565b5b620001cc565b620001ac84848460016200003b565b92509050818404811115620001c657620001c5620001dd565b5b81810290505b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b61128180620002296000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063775a25e311610071578063775a25e3146101a25780637d7e098f146101c05780639e7a13ad146101de578063c605f76c14610210578063cc8e23941461022e578063dfd49e2a1461024c576100a9565b80630178fe3f146100ae578063364cdfd1146100de5780636652aea914610110578063692579981461014057806370ad451714610170575b600080fd5b6100c860048036038101906100c39190610afb565b610268565b6040516100d59190610e1a565b60405180910390f35b6100f860048036038101906100f39190610afb565b610310565b60405161010793929190610e79565b60405180910390f35b61012a60048036038101906101259190610afb565b6103cf565b6040516101379190610e3c565b60405180910390f35b61015a60048036038101906101559190610afb565b6104b5565b6040516101679190610eb7565b60405180910390f35b61018a60048036038101906101859190610afb565b6104e2565b60405161019993929190610e79565b60405180910390f35b6101aa6105a1565b6040516101b79190610df8565b60405180910390f35b6101c86106b9565b6040516101d59190610e5e565b60405180910390f35b6101f860048036038101906101f39190610afb565b6106c3565b60405161020793929190610e79565b60405180910390f35b610218610792565b6040516102259190610e1a565b60405180910390f35b6102366107b2565b6040516102439190610e5e565b60405180910390f35b61026660048036038101906102619190610b24565b6107c9565b005b606060056000838152602001908152602001600020600201805461028b9061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546102b79061102f565b80156103045780601f106102d957610100808354040283529160200191610304565b820191906000526020600020905b8154815290600101906020018083116102e757829003601f168201915b50505050509050919050565b60056020528060005260406000206000915090508060000154908060010160009054906101000a900460ff169080600201805461034c9061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546103789061102f565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b5050505050905083565b6103d76109a2565b60066000838152602001908152602001600020604051806060016040529081600082015481526020016001820160009054906101000a900460ff1660ff1660ff16815260200160028201805461042c9061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546104589061102f565b80156104a55780601f1061047a576101008083540402835291602001916104a5565b820191906000526020600020905b81548152906001019060200180831161048857829003601f168201915b5050505050815250509050919050565b60006006600083815260200190815260200160002060010160009054906101000a900460ff169050919050565b60066020528060005260406000206000915090508060000154908060010160009054906101000a900460ff169080600201805461051e9061102f565b80601f016020809104026020016040519081016040528092919081815260200182805461054a9061102f565b80156105975780601f1061056c57610100808354040283529160200191610597565b820191906000526020600020905b81548152906001019060200180831161057a57829003601f168201915b5050505050905083565b60606004805480602002602001604051908101604052809291908181526020016000905b828210156106b05783829060005260206000209060030201604051806060016040529081600082015481526020016001820160009054906101000a900460ff1660ff1660ff16815260200160028201805461061f9061102f565b80601f016020809104026020016040519081016040528092919081815260200182805461064b9061102f565b80156106985780601f1061066d57610100808354040283529160200191610698565b820191906000526020600020905b81548152906001019060200180831161067b57829003601f168201915b505050505081525050815260200190600101906105c5565b50505050905090565b6000600254905090565b600481815481106106d357600080fd5b90600052602060002090600302016000915090508060000154908060010160009054906101000a900460ff169080600201805461070f9061102f565b80601f016020809104026020016040519081016040528092919081815260200182805461073b9061102f565b80156107885780601f1061075d57610100808354040283529160200191610788565b820191906000526020600020905b81548152906001019060200180831161076b57829003601f168201915b5050505050905083565b60606040518060600160405280603a8152602001611212603a9139905090565b600080600354905060006003819055508091505090565b6000604051806060016040528060025481526020018460ff16815260200183815250905060048190806001815401808255809150506001900390600052602060002090600302016000909190919091506000820151816000015560208201518160010160006101000a81548160ff021916908360ff16021790555060408201518160020190805190602001906108609291906109c6565b505050806005600060025481526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908360ff16021790555060408201518160020190805190602001906108c09291906109c6565b5090505060006108cf83610955565b905081600660008381526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908360ff160217905550604082015181600201908051906020019061092c9291906109c6565b50905050806003819055506002600081548092919061094a90611061565b919050555050505050565b6000803342600254856040516020016109719493929190610dae565b6040516020818303038152906040528051906020012060001c90506001548161099a91906110d8565b915050919050565b604051806060016040528060008152602001600060ff168152602001606081525090565b8280546109d29061102f565b90600052602060002090601f0160209004810192826109f45760008555610a3b565b82601f10610a0d57805160ff1916838001178555610a3b565b82800160010185558215610a3b579182015b82811115610a3a578251825591602001919060010190610a1f565b5b509050610a489190610a4c565b5090565b5b80821115610a65576000816000905550600101610a4d565b5090565b6000610a7c610a7784610f03565b610ed2565b905082815260208101848484011115610a9457600080fd5b610a9f848285610fed565b509392505050565b600082601f830112610ab857600080fd5b8135610ac8848260208601610a69565b91505092915050565b600081359050610ae0816111e3565b92915050565b600081359050610af5816111fa565b92915050565b600060208284031215610b0d57600080fd5b6000610b1b84828501610ad1565b91505092915050565b60008060408385031215610b3757600080fd5b6000610b4585828601610ae6565b925050602083013567ffffffffffffffff811115610b6257600080fd5b610b6e85828601610aa7565b9150509250929050565b6000610b848383610cbb565b905092915050565b610b9d610b9882610fa4565b6110aa565b82525050565b6000610bae82610f43565b610bb88185610f66565b935083602082028501610bca85610f33565b8060005b85811015610c065784840389528151610be78582610b78565b9450610bf283610f59565b925060208a01995050600181019050610bce565b50829750879550505050505092915050565b6000610c2382610f4e565b610c2d8185610f77565b9350610c3d818560208601610ffc565b610c46816111c5565b840191505092915050565b6000610c5c82610f4e565b610c668185610f88565b9350610c76818560208601610ffc565b610c7f816111c5565b840191505092915050565b6000610c9582610f4e565b610c9f8185610f99565b9350610caf818560208601610ffc565b80840191505092915050565b6000606083016000830151610cd36000860182610d5b565b506020830151610ce66020860182610d90565b5060408301518482036040860152610cfe8282610c18565b9150508091505092915050565b6000606083016000830151610d236000860182610d5b565b506020830151610d366020860182610d90565b5060408301518482036040860152610d4e8282610c18565b9150508091505092915050565b610d6481610fd6565b82525050565b610d7381610fd6565b82525050565b610d8a610d8582610fd6565b6110ce565b82525050565b610d9981610fe0565b82525050565b610da881610fe0565b82525050565b6000610dba8287610b8c565b601482019150610dca8286610d79565b602082019150610dda8285610d79565b602082019150610dea8284610c8a565b915081905095945050505050565b60006020820190508181036000830152610e128184610ba3565b905092915050565b60006020820190508181036000830152610e348184610c51565b905092915050565b60006020820190508181036000830152610e568184610d0b565b905092915050565b6000602082019050610e736000830184610d6a565b92915050565b6000606082019050610e8e6000830186610d6a565b610e9b6020830185610d9f565b8181036040830152610ead8184610c51565b9050949350505050565b6000602082019050610ecc6000830184610d9f565b92915050565b6000604051905081810181811067ffffffffffffffff82111715610ef957610ef8611196565b5b8060405250919050565b600067ffffffffffffffff821115610f1e57610f1d611196565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000610faf82610fb6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561101a578082015181840152602081019050610fff565b83811115611029576000848401525b50505050565b6000600282049050600182168061104757607f821691505b6020821081141561105b5761105a611167565b5b50919050565b600061106c82610fd6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561109f5761109e611109565b5b600182019050919050565b60006110b5826110bc565b9050919050565b60006110c7826111d6565b9050919050565b6000819050919050565b60006110e382610fd6565b91506110ee83610fd6565b9250826110fe576110fd611138565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b6111ec81610fd6565b81146111f757600080fd5b50565b61120381610fe0565b811461120e57600080fd5b5056fe48656c6c6f20576f726c6421205468697320736d61727420636f6e74726163742069732077726974656e206279204a6961797565205a686f752ea26469706673582212201bc33511b749a022c756a4534a64bacb9e67a63d6dacb144011f8a4a06c3f6c764736f6c63430008000033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x10 PUSH1 0x0 SSTORE PUSH1 0x0 SLOAD PUSH1 0xA PUSH3 0x1A SWAP2 SWAP1 PUSH3 0x96 JUMP JUMPDEST PUSH1 0x1 SSTORE PUSH1 0x0 PUSH1 0x2 SSTORE PUSH1 0x0 PUSH1 0x3 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x219 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH3 0x8D JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH3 0x65 JUMPI PUSH3 0x64 PUSH3 0x1DD JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH3 0x75 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH3 0x85 DUP6 PUSH3 0x20C JUMP JUMPDEST SWAP5 POP PUSH3 0x45 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA3 DUP3 PUSH3 0x1D3 JUMP JUMPDEST SWAP2 POP PUSH3 0xB0 DUP4 PUSH3 0x1D3 JUMP JUMPDEST SWAP3 POP PUSH3 0xDF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH3 0xE7 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH3 0xF9 JUMPI PUSH1 0x1 SWAP1 POP PUSH3 0x1CC JUMP JUMPDEST DUP2 PUSH3 0x109 JUMPI PUSH1 0x0 SWAP1 POP PUSH3 0x1CC JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH3 0x122 JUMPI PUSH1 0x2 DUP2 EQ PUSH3 0x12D JUMPI PUSH3 0x163 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH3 0x1CC JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH3 0x142 JUMPI PUSH3 0x141 PUSH3 0x1DD JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH3 0x15C JUMPI PUSH3 0x15B PUSH3 0x1DD JUMP JUMPDEST JUMPDEST POP PUSH3 0x1CC JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH3 0x19D JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH3 0x197 JUMPI PUSH3 0x196 PUSH3 0x1DD JUMP JUMPDEST JUMPDEST PUSH3 0x1CC JUMP JUMPDEST PUSH3 0x1AC DUP5 DUP5 DUP5 PUSH1 0x1 PUSH3 0x3B JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH3 0x1C6 JUMPI PUSH3 0x1C5 PUSH3 0x1DD JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1281 DUP1 PUSH3 0x229 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x775A25E3 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x775A25E3 EQ PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x7D7E098F EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0xC605F76C EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0xCC8E2394 EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0xDFD49E2A EQ PUSH2 0x24C JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x178FE3F EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x364CDFD1 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x6652AEA9 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x69257998 EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0x70AD4517 EQ PUSH2 0x170 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xAFB JUMP JUMPDEST PUSH2 0x268 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0xE1A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xAFB JUMP JUMPDEST PUSH2 0x310 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x107 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE79 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x125 SWAP2 SWAP1 PUSH2 0xAFB JUMP JUMPDEST PUSH2 0x3CF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x137 SWAP2 SWAP1 PUSH2 0xE3C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x15A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x155 SWAP2 SWAP1 PUSH2 0xAFB JUMP JUMPDEST PUSH2 0x4B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x167 SWAP2 SWAP1 PUSH2 0xEB7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xAFB JUMP JUMPDEST PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x199 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE79 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AA PUSH2 0x5A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B7 SWAP2 SWAP1 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C8 PUSH2 0x6B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D5 SWAP2 SWAP1 PUSH2 0xE5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F3 SWAP2 SWAP1 PUSH2 0xAFB JUMP JUMPDEST PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x207 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE79 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH2 0x792 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0xE1A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x236 PUSH2 0x7B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x243 SWAP2 SWAP1 PUSH2 0xE5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x266 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x261 SWAP2 SWAP1 PUSH2 0xB24 JUMP JUMPDEST PUSH2 0x7C9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x5 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x28B SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B7 SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x304 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x304 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x34C SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x378 SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3C5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x39A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3C5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3A8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x3D7 PUSH2 0x9A2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x42C SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x458 SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x47A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x488 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x51E SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x54A SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x597 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x56C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x597 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x57A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x6B0 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x61F SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x698 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x66D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x698 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x67B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x5C5 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x6D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x70F SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x73B SWAP1 PUSH2 0x102F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x788 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x75D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x788 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x76B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1212 PUSH1 0x3A SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x3 SLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x3 DUP2 SWAP1 SSTORE POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 POP PUSH1 0x4 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x860 SWAP3 SWAP2 SWAP1 PUSH2 0x9C6 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x5 PUSH1 0x0 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x8C0 SWAP3 SWAP2 SWAP1 PUSH2 0x9C6 JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x0 PUSH2 0x8CF DUP4 PUSH2 0x955 JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x6 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x92C SWAP3 SWAP2 SWAP1 PUSH2 0x9C6 JUMP JUMPDEST POP SWAP1 POP POP DUP1 PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x94A SWAP1 PUSH2 0x1061 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER TIMESTAMP PUSH1 0x2 SLOAD DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x971 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDAE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR SWAP1 POP PUSH1 0x1 SLOAD DUP2 PUSH2 0x99A SWAP2 SWAP1 PUSH2 0x10D8 JUMP JUMPDEST SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x9D2 SWAP1 PUSH2 0x102F JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xA3B JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xA0D JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xA3B JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xA3B JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xA3A JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xA1F JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xA48 SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xA65 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xA4D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA7C PUSH2 0xA77 DUP5 PUSH2 0xF03 JUMP JUMPDEST PUSH2 0xED2 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xA94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA9F DUP5 DUP3 DUP6 PUSH2 0xFED JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xAB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xAC8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xA69 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE0 DUP2 PUSH2 0x11E3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAF5 DUP2 PUSH2 0x11FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB1B DUP5 DUP3 DUP6 ADD PUSH2 0xAD1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB45 DUP6 DUP3 DUP7 ADD PUSH2 0xAE6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6E DUP6 DUP3 DUP7 ADD PUSH2 0xAA7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB84 DUP4 DUP4 PUSH2 0xCBB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB9D PUSH2 0xB98 DUP3 PUSH2 0xFA4 JUMP JUMPDEST PUSH2 0x10AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBAE DUP3 PUSH2 0xF43 JUMP JUMPDEST PUSH2 0xBB8 DUP2 DUP6 PUSH2 0xF66 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0xBCA DUP6 PUSH2 0xF33 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xC06 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0xBE7 DUP6 DUP3 PUSH2 0xB78 JUMP JUMPDEST SWAP5 POP PUSH2 0xBF2 DUP4 PUSH2 0xF59 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xBCE JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC23 DUP3 PUSH2 0xF4E JUMP JUMPDEST PUSH2 0xC2D DUP2 DUP6 PUSH2 0xF77 JUMP JUMPDEST SWAP4 POP PUSH2 0xC3D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xFFC JUMP JUMPDEST PUSH2 0xC46 DUP2 PUSH2 0x11C5 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC5C DUP3 PUSH2 0xF4E JUMP JUMPDEST PUSH2 0xC66 DUP2 DUP6 PUSH2 0xF88 JUMP JUMPDEST SWAP4 POP PUSH2 0xC76 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xFFC JUMP JUMPDEST PUSH2 0xC7F DUP2 PUSH2 0x11C5 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC95 DUP3 PUSH2 0xF4E JUMP JUMPDEST PUSH2 0xC9F DUP2 DUP6 PUSH2 0xF99 JUMP JUMPDEST SWAP4 POP PUSH2 0xCAF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xFFC JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xCD3 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xD5B JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xCE6 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD90 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0xCFE DUP3 DUP3 PUSH2 0xC18 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xD23 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xD5B JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0xD36 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0xD90 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0xD4E DUP3 DUP3 PUSH2 0xC18 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD64 DUP2 PUSH2 0xFD6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD73 DUP2 PUSH2 0xFD6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD8A PUSH2 0xD85 DUP3 PUSH2 0xFD6 JUMP JUMPDEST PUSH2 0x10CE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD99 DUP2 PUSH2 0xFE0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xDA8 DUP2 PUSH2 0xFE0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDBA DUP3 DUP8 PUSH2 0xB8C JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0xDCA DUP3 DUP7 PUSH2 0xD79 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0xDDA DUP3 DUP6 PUSH2 0xD79 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0xDEA DUP3 DUP5 PUSH2 0xC8A JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE12 DUP2 DUP5 PUSH2 0xBA3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE34 DUP2 DUP5 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE56 DUP2 DUP5 PUSH2 0xD0B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE73 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD6A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xE8E PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xD6A JUMP JUMPDEST PUSH2 0xE9B PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xD9F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xEAD DUP2 DUP5 PUSH2 0xC51 JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xECC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD9F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEF9 JUMPI PUSH2 0xEF8 PUSH2 0x1196 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xF1E JUMPI PUSH2 0xF1D PUSH2 0x1196 JUMP JUMPDEST JUMPDEST PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFAF DUP3 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x101A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xFFF JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1029 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1047 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x105B JUMPI PUSH2 0x105A PUSH2 0x1167 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x106C DUP3 PUSH2 0xFD6 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x109F JUMPI PUSH2 0x109E PUSH2 0x1109 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B5 DUP3 PUSH2 0x10BC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10C7 DUP3 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10E3 DUP3 PUSH2 0xFD6 JUMP JUMPDEST SWAP2 POP PUSH2 0x10EE DUP4 PUSH2 0xFD6 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x10FE JUMPI PUSH2 0x10FD PUSH2 0x1138 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11EC DUP2 PUSH2 0xFD6 JUMP JUMPDEST DUP2 EQ PUSH2 0x11F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1203 DUP2 PUSH2 0xFE0 JUMP JUMPDEST DUP2 EQ PUSH2 0x120E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID 0x48 PUSH6 0x6C6C6F20576F PUSH19 0x6C6421205468697320736D61727420636F6E74 PUSH19 0x6163742069732077726974656E206279204A69 PUSH2 0x7975 PUSH6 0x205A686F752E LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL 0xC3 CALLDATALOAD GT 0xB7 0x49 LOG0 0x22 0xC7 JUMP LOG4 MSTORE8 0x4A PUSH5 0xBACB9E67A6 RETURNDATASIZE PUSH14 0xACB144011F8A4A06C3F6C764736F PUSH13 0x63430008000033000000000000 ", "sourceMap": "69:2440:0:-:0;;;131:2;99:34;;171:21;;165:2;:27;;;;:::i;:::-;139:53;;214:1;198:17;;249:1;221:29;;69:2440;;;;;;;;;;;;7:848:1;;;99:6;90:15;;123:5;114:14;;137:712;158:1;148:8;145:15;137:712;;;253:4;248:3;244:14;238:4;235:24;232:2;;;262:18;;:::i;:::-;232:2;312:1;302:8;298:16;295:2;;;727:4;720:5;716:16;707:25;;295:2;777:4;771;767:15;759:23;;807:32;830:8;807:32;:::i;:::-;795:44;;137:712;;;80:775;;;;;;;:::o;861:285::-;;945:23;963:4;945:23;:::i;:::-;937:31;;989:27;1007:8;989:27;:::i;:::-;977:39;;1035:104;1072:66;1062:8;1056:4;1035:104;:::i;:::-;1026:113;;927:219;;;;:::o;1152:1073::-;;1397:8;1387:2;;1418:1;1409:10;;1420:5;;1387:2;1446:4;1436:2;;1463:1;1454:10;;1465:5;;1436:2;1532:4;1580:1;1575:27;;;;1616:1;1611:191;;;;1525:277;;1575:27;1593:1;1584:10;;1595:5;;;1611:191;1656:3;1646:8;1643:17;1640:2;;;1663:18;;:::i;:::-;1640:2;1712:8;1709:1;1705:16;1696:25;;1747:3;1740:5;1737:14;1734:2;;;1754:18;;:::i;:::-;1734:2;1787:5;;;1525:277;;1911:2;1901:8;1898:16;1892:3;1886:4;1883:13;1879:36;1861:2;1851:8;1848:16;1843:2;1837:4;1834:12;1830:35;1814:111;1811:2;;;1967:8;1961:4;1957:19;1948:28;;2002:3;1995:5;1992:14;1989:2;;;2009:18;;:::i;:::-;1989:2;2042:5;;1811:2;2082:42;2120:3;2110:8;2104:4;2101:1;2082:42;:::i;:::-;2067:57;;;;2156:4;2151:3;2147:14;2140:5;2137:25;2134:2;;;2165:18;;:::i;:::-;2134:2;2214:4;2207:5;2203:16;2194:25;;1212:1013;;;;;;:::o;2231:77::-;;2297:5;2286:16;;2276:32;;;:::o;2314:180::-;2362:77;2359:1;2352:88;2459:4;2456:1;2449:15;2483:4;2480:1;2473:15;2500:102;;2589:5;2586:1;2582:13;2561:34;;2551:51;;;:::o;69:2440:0:-;;;;;;;"}}, "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pw\",\"type\":\"uint256\"}],\"name\":\"getCovidResultByPassword\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getData\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pw\",\"type\":\"uint256\"}],\"name\":\"getDataByPassword\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"covid19_Res\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"aggregation\",\"type\":\"string\"}],\"internalType\":\"struct PatientRecord.People\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPassword\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPeopleRecordTotalNum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"covid19_Res\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"aggregation\",\"type\":\"string\"}],\"internalType\":\"struct PatientRecord.People[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"helloWorld\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"idToPeople\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"covid19_Res\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"aggregation\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"people\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"covid19_Res\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"aggregation\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"privatePasswordToPeople\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"covid19_Res\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"aggregation\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"covid19_Res\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"aggregation\",\"type\":\"string\"}],\"name\":\"storeData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"patientRecordContract.sol\":\"PatientRecord\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"patientRecordContract.sol\":{\"keccak256\":\"0xf3223f090cab5b9c71b34bdf39cae0b98986e1bcc5ffe2c7891b8fc658fecf37\",\"urls\":[\"bzz-raw://c7af27939ca1d71fe895c065c87cb8027d086ea3cf6dcd736275cff78499ea9a\",\"dweb:/ipfs/QmT4cnkTQnYhz3dZ1KrkvQo74UoFg3cAGKvFXmMn2eKMQG\"]}},\"version\":1}"}}}, "errors": [{"component": "general", "errorCode": "1878", "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> patientRecordContract.sol\n\n", "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", "severity": "warning", "sourceLocation": {"end": -1, "file": "patientRecordContract.sol", "start": -1}, "type": "Warning"}], "sources": {"patientRecordContract.sol": {"id": 0}}}