{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220e541aa8eedf54e9438c65addbf92afe8b25bfc8e117661490b0d6c4e28daa7a364736f6c63430008180033","sourceMap":"216:1047:44:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220e541aa8eedf54e9438c65addbf92afe8b25bfc8e117661490b0d6c4e28daa7a364736f6c63430008180033","sourceMap":"216:1047:44:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":"SignedMath"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","id":39141,"exportedSymbols":{"SignedMath":[39140]},"nodeType":"SourceUnit","src":"109:1155:44","nodes":[{"id":39037,"nodeType":"PragmaDirective","src":"109:24:44","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":39140,"nodeType":"ContractDefinition","src":"216:1047:44","nodes":[{"id":39056,"nodeType":"FunctionDefinition","src":"312:101:44","nodes":[],"body":{"id":39055,"nodeType":"Block","src":"376:37:44","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39048,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39041,"src":"393:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":39049,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39043,"src":"397:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"393:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":39052,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39043,"src":"405:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":39053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"393:13:44","trueExpression":{"id":39051,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39041,"src":"401:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":39047,"id":39054,"nodeType":"Return","src":"386:20:44"}]},"documentation":{"id":39039,"nodeType":"StructuredDocumentation","src":"241:66:44","text":" @dev Returns the largest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"321:3:44","parameters":{"id":39044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39041,"mutability":"mutable","name":"a","nameLocation":"332:1:44","nodeType":"VariableDeclaration","scope":39056,"src":"325:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39040,"name":"int256","nodeType":"ElementaryTypeName","src":"325:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":39043,"mutability":"mutable","name":"b","nameLocation":"342:1:44","nodeType":"VariableDeclaration","scope":39056,"src":"335:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39042,"name":"int256","nodeType":"ElementaryTypeName","src":"335:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"324:20:44"},"returnParameters":{"id":39047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39046,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39056,"src":"368:6:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39045,"name":"int256","nodeType":"ElementaryTypeName","src":"368:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"367:8:44"},"scope":39140,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39074,"nodeType":"FunctionDefinition","src":"491:101:44","nodes":[],"body":{"id":39073,"nodeType":"Block","src":"555:37:44","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39066,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39059,"src":"572:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":39067,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39061,"src":"576:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"572:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":39070,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39061,"src":"584:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":39071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"572:13:44","trueExpression":{"id":39069,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39059,"src":"580:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":39065,"id":39072,"nodeType":"Return","src":"565:20:44"}]},"documentation":{"id":39057,"nodeType":"StructuredDocumentation","src":"419:67:44","text":" @dev Returns the smallest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"500:3:44","parameters":{"id":39062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39059,"mutability":"mutable","name":"a","nameLocation":"511:1:44","nodeType":"VariableDeclaration","scope":39074,"src":"504:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39058,"name":"int256","nodeType":"ElementaryTypeName","src":"504:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":39061,"mutability":"mutable","name":"b","nameLocation":"521:1:44","nodeType":"VariableDeclaration","scope":39074,"src":"514:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39060,"name":"int256","nodeType":"ElementaryTypeName","src":"514:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"503:20:44"},"returnParameters":{"id":39065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39074,"src":"547:6:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39063,"name":"int256","nodeType":"ElementaryTypeName","src":"547:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"546:8:44"},"scope":39140,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39118,"nodeType":"FunctionDefinition","src":"729:230:44","nodes":[],"body":{"id":39117,"nodeType":"Block","src":"797:162:44","nodes":[],"statements":[{"assignments":[39085],"declarations":[{"constant":false,"id":39085,"mutability":"mutable","name":"x","nameLocation":"866:1:44","nodeType":"VariableDeclaration","scope":39117,"src":"859:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39084,"name":"int256","nodeType":"ElementaryTypeName","src":"859:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":39098,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39086,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39077,"src":"871:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":39087,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39079,"src":"875:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"871:5:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":39089,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"870:7:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39090,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39077,"src":"882:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":39091,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39079,"src":"886:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"882:5:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":39093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"881:7:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":39094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:1:44","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"881:12:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":39096,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:14:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:24:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"859:35:44"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39099,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39085,"src":"911:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39104,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39085,"src":"931:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":39103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"923:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":39102,"name":"uint256","nodeType":"ElementaryTypeName","src":"923:7:44","typeDescriptions":{}}},"id":39105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"923:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":39106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"937:3:44","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"923:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"916:6:44","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":39100,"name":"int256","nodeType":"ElementaryTypeName","src":"916:6:44","typeDescriptions":{}}},"id":39108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:25:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39109,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39077,"src":"945:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":39110,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39079,"src":"949:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"945:5:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":39112,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"944:7:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"916:35:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":39114,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"915:37:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"911:41:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":39083,"id":39116,"nodeType":"Return","src":"904:48:44"}]},"documentation":{"id":39075,"nodeType":"StructuredDocumentation","src":"598:126:44","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"738:7:44","parameters":{"id":39080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39077,"mutability":"mutable","name":"a","nameLocation":"753:1:44","nodeType":"VariableDeclaration","scope":39118,"src":"746:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39076,"name":"int256","nodeType":"ElementaryTypeName","src":"746:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":39079,"mutability":"mutable","name":"b","nameLocation":"763:1:44","nodeType":"VariableDeclaration","scope":39118,"src":"756:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39078,"name":"int256","nodeType":"ElementaryTypeName","src":"756:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"745:20:44"},"returnParameters":{"id":39083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39082,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39118,"src":"789:6:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39081,"name":"int256","nodeType":"ElementaryTypeName","src":"789:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"788:8:44"},"scope":39140,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39139,"nodeType":"FunctionDefinition","src":"1048:213:44","nodes":[],"body":{"id":39138,"nodeType":"Block","src":"1103:158:44","nodes":[],"statements":[{"id":39137,"nodeType":"UncheckedBlock","src":"1113:142:44","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":39130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39128,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39121,"src":"1228:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":39129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1233:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1228:6:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":39133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1241:2:44","subExpression":{"id":39132,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39121,"src":"1242:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":39134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1228:15:44","trueExpression":{"id":39131,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39121,"src":"1237:1:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":39127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1220:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":39126,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:44","typeDescriptions":{}}},"id":39135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1220:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":39125,"id":39136,"nodeType":"Return","src":"1213:31:44"}]}]},"documentation":{"id":39119,"nodeType":"StructuredDocumentation","src":"965:78:44","text":" @dev Returns the absolute unsigned value of a signed value."},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1057:3:44","parameters":{"id":39122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39121,"mutability":"mutable","name":"n","nameLocation":"1068:1:44","nodeType":"VariableDeclaration","scope":39139,"src":"1061:8:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":39120,"name":"int256","nodeType":"ElementaryTypeName","src":"1061:6:44","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1060:10:44"},"returnParameters":{"id":39125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39139,"src":"1094:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39123,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1093:9:44"},"scope":39140,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":39038,"nodeType":"StructuredDocumentation","src":"135:80:44","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[39140],"name":"SignedMath","nameLocation":"224:10:44","scope":39141,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":44}