[ { "inputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "numTokens", "type": "uint256" }, { "internalType": "uint256[]", "name": "normalizedWeights", "type": "uint256[]" }, { "internalType": "string", "name": "version", "type": "string" } ], "internalType": "struct WeightedPool.NewPoolParams", "name": "params", "type": "tuple" }, { "internalType": "contract IVault", "name": "vault", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "BaseOutOfBounds", "type": "error" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [], "name": "ExponentOutOfBounds", "type": "error" }, { "inputs": [], "name": "InputLengthMismatch", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidExponent", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [], "name": "InvalidToken", "type": "error" }, { "inputs": [], "name": "MaxInRatio", "type": "error" }, { "inputs": [], "name": "MaxOutRatio", "type": "error" }, { "inputs": [], "name": "MinWeight", "type": "error" }, { "inputs": [], "name": "NormalizedWeightInvariant", "type": "error" }, { "inputs": [], "name": "ProductOutOfBounds", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "SenderIsNotVault", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "inputs": [], "name": "WeightedPoolBptRateUnsupported", "type": "error" }, { "inputs": [], "name": "ZeroDivision", "type": "error" }, { "inputs": [], "name": "ZeroInvariant", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "balancesLiveScaled18", "type": "uint256[]" }, { "internalType": "uint256", "name": "tokenInIndex", "type": "uint256" }, { "internalType": "uint256", "name": "invariantRatio", "type": "uint256" } ], "name": "computeBalance", "outputs": [ { "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "balancesLiveScaled18", "type": "uint256[]" }, { "internalType": "enum Rounding", "name": "rounding", "type": "uint8" } ], "name": "computeInvariant", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "emitApproval", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "emitTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getAggregateFeePercentages", "outputs": [ { "internalType": "uint256", "name": "aggregateSwapFeePercentage", "type": "uint256" }, { "internalType": "uint256", "name": "aggregateYieldFeePercentage", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentLiveBalances", "outputs": [ { "internalType": "uint256[]", "name": "balancesLiveScaled18", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaximumInvariantRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getMaximumSwapFeePercentage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getMinimumInvariantRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getMinimumSwapFeePercentage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getNormalizedWeights", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getStaticSwapFeePercentage", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenInfo", "outputs": [ { "internalType": "contract IERC20[]", "name": "tokens", "type": "address[]" }, { "components": [ { "internalType": "enum TokenType", "name": "tokenType", "type": "uint8" }, { "internalType": "contract IRateProvider", "name": "rateProvider", "type": "address" }, { "internalType": "bool", "name": "paysYieldFees", "type": "bool" } ], "internalType": "struct TokenInfo[]", "name": "tokenInfo", "type": "tuple[]" }, { "internalType": "uint256[]", "name": "balancesRaw", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "lastBalancesLiveScaled18", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokens", "outputs": [ { "internalType": "contract IERC20[]", "name": "tokens", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVault", "outputs": [ { "internalType": "contract IVault", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getWeightedPoolDynamicData", "outputs": [ { "components": [ { "internalType": "uint256[]", "name": "balancesLiveScaled18", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "tokenRates", "type": "uint256[]" }, { "internalType": "uint256", "name": "staticSwapFeePercentage", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "bool", "name": "isPoolInitialized", "type": "bool" }, { "internalType": "bool", "name": "isPoolPaused", "type": "bool" }, { "internalType": "bool", "name": "isPoolInRecoveryMode", "type": "bool" } ], "internalType": "struct WeightedPoolDynamicData", "name": "data", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getWeightedPoolImmutableData", "outputs": [ { "components": [ { "internalType": "contract IERC20[]", "name": "tokens", "type": "address[]" }, { "internalType": "uint256[]", "name": "decimalScalingFactors", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "normalizedWeights", "type": "uint256[]" } ], "internalType": "struct WeightedPoolImmutableData", "name": "data", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "incrementNonce", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "enum SwapKind", "name": "kind", "type": "uint8" }, { "internalType": "uint256", "name": "amountGivenScaled18", "type": "uint256" }, { "internalType": "uint256[]", "name": "balancesScaled18", "type": "uint256[]" }, { "internalType": "uint256", "name": "indexIn", "type": "uint256" }, { "internalType": "uint256", "name": "indexOut", "type": "uint256" }, { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "bytes", "name": "userData", "type": "bytes" } ], "internalType": "struct PoolSwapParams", "name": "request", "type": "tuple" } ], "name": "onSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
6102c08060405234610907576146c5803803809161001d828561091b565b833981016040828203126109075781516001600160401b0381116109075782019160a083830312610907576040519160a083016001600160401b038111848210176107105760405283516001600160401b038111610907578161008191860161093e565b835260208401516001600160401b03811161090757816100a291860161093e565b602084019081526040808601519085015260608501519094906001600160401b03811161090757810182601f82011215610907578051906001600160401b038211610710578160051b604051926100fc602083018561091b565b83526020808401918301019185831161090757602001905b82821061090b5750505060608501526080810151916001600160401b03831161090757602092610144920161093e565b608084018190529101516001600160a01b03811681036109075782519351604080519195919081016001600160401b03811182821017610710576040526001815260208101603160f81b815261019983610993565b610120526101a682610b16565b6101405282516020840120918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610710576040525190206080523060c0526101608290528051906001600160401b0382116107105760035490600182811c921680156108fd575b60208310146106f25781601f849311610892575b50602090601f831160011461080a575f926107ff575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161071057600454600181811c911680156107f5575b60208210146106f257601f8111610796575b506020601f821160011461072f5781929394955f92610724575b50508160011b915f199060031b1c1916176004555b610180528051906001600160401b0382116107105760055490600182811c92168015610706575b60208310146106f25781601f8493116106a4575b50602090601f831160011461061c575f92610611575b50508160011b915f199060031b1c1916176005555b60408101516101a09080825260608301515103610602575f905f5b81519260ff821693841015610494576060850151805185101561048057602090611fe08460051b1601015190662386f26fc100008210610471578181018091116103d95793806103ed57506101c0525b60ff8091169081146103d957600101610375565b634e487b7160e01b5f52601160045260245ffd5b600181036103ff57506101e0526103c5565b600281036104115750610200526103c5565b600381036104235750610220526103c5565b600481036104355750610240526103c5565b600581036104475750610260526103c5565b600681036104595750610280526103c5565b600714610467575b506103c5565b6102a0525f610461565b63bd39358360e01b5f5260045ffd5b634e487b7160e01b5f52603260045260245ffd5b670de0b6b3a76400009150036105f357604051613a789182610c4d833960805182612806015260a051826128d2015260c051826127d7015260e051826128550152610100518261287b0152610120518261112801526101405182611152015261016051828181610260015281816104880152818161065f01528181610d7e015281816110ed015281816114ae01528181611733015281816119d801528181612118015261276c01526101805182818161059d0152818161094a01528181610a1201528181610c7a0152611277015251816128fa01526101c0518181816125d2015261295101526101e0518181816125ff015261297e01526102005181818161262c01526129b701526102205181818161265901526129f00152610240518181816126860152612a2a0152610260518181816126b30152612a630152610280518181816126e00152612a9f01526102a05181818161270b0152612ad90152f35b631ce788a760e11b5f5260045ffd5b63aaad13f760e01b5f5260045ffd5b015190505f80610345565b60055f90815293507f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db091905b601f1984168510610689576001945083601f19811610610671575b505050811b0160055561035a565b01515f1960f88460031b161c191690555f8080610663565b81810151835560209485019460019093019290910190610648565b90915060055f5260205f20601f840160051c8101602085106106eb575b90849392915b601f830160051c820181106106dd57505061032f565b5f81558594506001016106c7565b50806106c1565b634e487b7160e01b5f52602260045260245ffd5b91607f169161031b565b634e487b7160e01b5f52604160045260245ffd5b015190505f806102df565b60045f5260205f20905f5b601f198416811061077e575060019394959683601f19811610610766575b505050811b016004556102f4565b01515f1960f88460031b161c191690555f8080610758565b9091602060018192858b01518155019301910161073a565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101602084106107ee575b601f830160051c820181106107e35750506102c5565b5f81556001016107cd565b50806107cd565b90607f16906102b3565b015190505f8061027d565b60035f90815293507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b91905b601f1984168510610877576001945083601f1981161061085f575b505050811b01600355610292565b01515f1960f88460031b161c191690555f8080610851565b81810151835560209485019460019093019290910190610836565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101602085106108f6575b90849392915b601f830160051c820181106108e8575050610267565b5f81558594506001016108d2565b50806108cc565b91607f1691610253565b5f80fd5b8151815260209182019101610114565b601f909101601f19168101906001600160401b0382119082101761071057604052565b81601f82011215610907578051906001600160401b0382116107105760405192610972601f8401601f19166020018561091b565b8284526020838301011161090757815f9260208093018386015e8301015290565b805160209081811015610a095750601f8251116109cb57808251920151908083106109bd57501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b906001600160401b038211610710575f54926001938481811c91168015610b0c575b838210146106f257601f8111610ad9575b5081601f8411600114610a7757509282939183925f94610a6c575b50501b915f199060031b1c1916175f5560ff90565b015192505f80610a57565b919083601f1981165f8052845f20945f905b88838310610abf5750505010610aa7575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610a9a565b858701518855909601959485019487935090810190610a89565b5f805284601f845f20920160051c820191601f860160051c015b828110610b01575050610a3c565b5f8155018590610af3565b90607f1690610a2b565b805160209081811015610b405750601f8251116109cb57808251920151908083106109bd57501790565b9192916001600160401b0381116107105760019182548381811c91168015610c42575b828210146106f257601f8111610c0f575b5080601f8311600114610baf5750819293945f92610ba4575b50505f19600383901b1c191690821b17905560ff90565b015190505f80610b8d565b90601f19831695845f52825f20925f905b888210610bf85750508385969710610be0575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610bd3565b808785968294968601518155019501930190610bc0565b835f5283601f835f20920160051c820191601f850160051c015b828110610c37575050610b74565b5f8155018490610c29565b90607f1690610b6356fe6080604090808252600480361015610015575f80fd5b60e05f35811c92836301ffc9a714611d905750826306fdde0314611ce1578263095ea7b314611c6357826316a0b3e014611a2a57826318160ddd14611a0e57826323b872dd1461196657826323de665114611934578263273c1adf1461191257826330adf81f146118d8578263313ce567146118bd5782633644e515146118a157826353b79bd7146116e557826354fd4d50146115f55782635687f2b814611596578263627cdcb91461156d578263654cf15d1461154b578263679aefce1461151457826370a082311461144057826372c981861461131f5782637ecebe00146112db57826381fa807c1461121a57826384b0196e146111115782638d928af8146110c157826395d89b4114610fbb578263984de9e814610df9578263a9059cbb14610ce6578263aa6ca80814610c21578263abb1dc44146109b8578263b156aa0a146108f1578263b677fa56146108cf578263c0bc6f33146105f6578263ce20ece7146105d6578263d335b0cf14610543578263d505accf146102d857508163dd62ed3e146101e5575063f89f27ed146101ae575f80fd5b346101e1575f6003193601126101e1576101dd906101ca6128f8565b9051918291602083526020830190611fa7565b0390f35b5f80fd5b82346101e157806003193601126101e1576020610200611e1c565b606461020a611e3f565b9473ffffffffffffffffffffffffffffffffffffffff808097875198899687957f927da10500000000000000000000000000000000000000000000000000000000875230908701521660248501521660448301527f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102cf575f9161029a575b6020925051908152f35b90506020823d6020116102c7575b816102b560209383611eca565b810103126101e1576020915190610290565b3d91506102a8565b513d5f823e3d90fd5b8390346101e1576003193601126101e1576102f1611e1c565b906102fa611e3f565b604435926084359060643560ff831683036101e157804211610519576103478273ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2080549060018201905590565b9061041361040a875195602087017f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9815273ffffffffffffffffffffffffffffffffffffffff97889586891697888d840152878c1660608401528d608084015260a083015260c082015260c081526103be81611e92565b5190206103c96127c0565b908a51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220612f35565b90929192612fc4565b168181036104ec5750505f84959661048460209651988996879586947fe1f21c67000000000000000000000000000000000000000000000000000000008652850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19081156102cf57506104b857005b6020813d6020116104e4575b816104d160209383611eca565b810103126101e1576104e290612079565b005b3d91506104c4565b877f4b800e46000000000000000000000000000000000000000000000000000000005f525260245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f525260245ffd5b5082346101e1575f6003193601126101e1578051917fb45090f9000000000000000000000000000000000000000000000000000000008352309083015260208260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156102cf575f9161029a576020925051908152f35b83346101e1575f6003193601126101e157602090516509184e72a0008152f35b9150346101e1575f6003193601126101e157825161061381611e92565b606081526020918282019160608352858101925f8452606082015f815260808301915f835260a08401935f855260c08101955f875273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016908b517f535cfd8a00000000000000000000000000000000000000000000000000000000815230828201525f81602481865afa90811561087f575f916108ad575b5083528b517f7e361bde00000000000000000000000000000000000000000000000000000000815230828201525f81602481865afa90811561087f575f91610889575b5084528b517fb45090f900000000000000000000000000000000000000000000000000000000815230828201528a81602481865afa90811561087f575f91610852575b5089526107516120cf565b85528b519182917ff29486a100000000000000000000000000000000000000000000000000000000835230908301528160246101a09485935afa91821561084857928b9c926107e0926107f396955f9e9c9d9e9261081b575b50508a81015115158852610120610100918281015115158b52015115158a5283519d8d8f9e938f948552519301528c0190611fa7565b915190601f198b840301908b0152611fa7565b9551606088015251608087015251151560a086015251151560c0850152511515908301520390f35b61083a9250803d10610841575b6108328183611eca565b810190612482565b5f806107aa565b503d610828565b8c513d5f823e3d90fd5b90508a81813d8311610878575b6108698183611eca565b810103126101e157515f610746565b503d61085f565b8d513d5f823e3d90fd5b6108a591503d805f833e61089d8183611eca565b81019061228d565b90505f610703565b6108c991503d805f833e6108c18183611eca565b8101906125a4565b5f6106c0565b83346101e1575f6003193601126101e157602090516709b6e64a8ec600008152f35b8382346101e1575f6003193601126101e1578151907f535cfd8a00000000000000000000000000000000000000000000000000000000825230908201525f8160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156109ae57916101dd925f92610992575b5051918291602083526020830190611fa7565b6109a79192503d805f833e6108c18183611eca565b908361097f565b82513d5f823e3d90fd5b8382346101e1575f6003193601126101e15773ffffffffffffffffffffffffffffffffffffffff8251917f67e0e07600000000000000000000000000000000000000000000000000000000835230908301525f82602481847f0000000000000000000000000000000000000000000000000000000000000000165afa918215610c17575f935f925f925f95610aed575b5090610a6595949392918151968796608088526080880190611fda565b6020878203818901528080875193848152019601925f905b838210610aa957898803868b015289806101dd8b610a9b8c8c611fa7565b908382036060850152611fa7565b9184989950606086979860019395978397518051610ac681612023565b83528685820151168584015201511515898201520198019201899897969594929391610a7d565b955093509150503d805f853e610b038185611eca565b8301926080818503126101e15780519167ffffffffffffffff928381116101e15785610b30918401612185565b91602095868201518581116101e157820181601f820112156101e157805190610b5882611eed565b98610b6586519a8b611eca565b828a52808a01816060809502840101928584116101e1578201905b838210610bc5575050505050828201518581116101e15781610ba391840161222c565b9460608301519081116101e157610bba920161222c565b919492919386610a48565b84828703126101e157875190610bda82611e62565b825160028110156101e157825283830151908c821682036101e1578285928389950152610c088b8601612079565b8b820152815201910190610b80565b83513d5f823e3d90fd5b8382346101e1575f6003193601126101e1578151907fca4f280300000000000000000000000000000000000000000000000000000000825230908201525f8160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156109ae57916101dd925f92610cc2575b5051918291602083526020830190611fda565b610cdf9192503d805f833e610cd78183611eca565b810190612203565b9083610caf565b5082346101e157806003193601126101e1576020610d6492610d06611e1c565b83517fbeabacc80000000000000000000000000000000000000000000000000000000081523392810192835273ffffffffffffffffffffffffffffffffffffffff909116602083015260243560408301529384918291606090910190565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015610def57610db5575b6020905160018152f35b6020823d602011610de7575b81610dce60209383611eca565b810103126101e157610de1602092612079565b50610dab565b3d9150610dc1565b50513d5f823e3d90fd5b5082346101e157806003193601126101e157813567ffffffffffffffff81116101e157610e299036908401611f05565b60243560028110156101e157610e3e81612023565b610fb457825b610e4c6128f8565b9080600314610f5f5780600414610ed85780600114610e9557600214610e7f57605184634e487b7160e01b5f525260245ffd5b6020935090610e8d9161306f565b905b51908152f35b509092670de0b6b3a764000091828102928184041490151715610ec55750602092610ebf91612b84565b90610e8f565b601190634e487b7160e01b5f525260245ffd5b50925f9190670de0b6b3a76400005b8551841015610f2357610f1b600191610f15610f0387876120bb565b51610f0e888b6120bb565b5190612ba2565b90612c4c565b930192610ee7565b92509350508015610f38576020925090610e8f565b827f26543689000000000000000000000000000000000000000000000000000000005f525ffd5b50925f9190670de0b6b3a76400005b8551841015610f2357670de0b6b3a7640000610fab600192610fa5610f9388886120bb565b51610f9e898c6120bb565b5190612e7d565b90612b71565b04930192610f6e565b6003610e44565b8382346101e1575f6003193601126101e157815191825f8354610fdd81612041565b90818452602095600191876001821691825f1461107c575050600114611020575b5050506101dd9291611011910385611eca565b51928284938452830190611df7565b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061106457505050820101816110116101dd610ffe565b8054848a01860152889550879490930192810161104b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061101191506101dd9050610ffe565b83346101e1575f6003193601126101e1576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9150346101e1575f6003193601126101e15761114c7f0000000000000000000000000000000000000000000000000000000000000000612c8d565b926111767f0000000000000000000000000000000000000000000000000000000000000000612dbf565b815192602084019084821067ffffffffffffffff8311176112075750916111e7916101dd949382525f84526111da82519788977f0f0000000000000000000000000000000000000000000000000000000000000089528060208a0152880190611df7565b9186830390870152611df7565b904660608501523060808501525f60a085015283820360c0850152611fa7565b604190634e487b7160e01b5f525260245ffd5b8382346101e1575f6003193601126101e1578151907ff29486a100000000000000000000000000000000000000000000000000000000825230908201526101a090818160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610c17575f926112be575b505060608282015191015182519182526020820152f35b6112d49250803d10610841576108328183611eca565b82806112a7565b83346101e15760206003193601126101e15760209073ffffffffffffffffffffffffffffffffffffffff61130d611e1c565b165f5260028252805f20549051908152f35b8382346101e15760209260031984813601126101e15782359167ffffffffffffffff918284116101e15783360301126101e15783519161135e83611e92565b8084013560028110156101e157835260248101358684015260448101358281116101e15761139190853691840101611f05565b85840152606481013560608401526084810135608084015260a481013573ffffffffffffffffffffffffffffffffffffffff811681036101e15760a084015260c4810135908282116101e1570192366023850112156101e15780840135918211611207575083519061140c86601f19601f8401160183611eca565b80825236602482860101116101e15785815f926024610e8d9701838601378301015260c082015261143b612755565b6122d1565b8382346101e157602091826003193601126101e1578261145e611e1c565b604473ffffffffffffffffffffffffffffffffffffffff9485855196879485937ff7888aec00000000000000000000000000000000000000000000000000000000855230908501521660248301527f0000000000000000000000000000000000000000000000000000000000000000165afa918215610def575f926114e5575b5051908152f35b9091508281813d831161150d575b6114fd8183611eca565b810103126101e1575190836114de565b503d6114f3565b50346101e1575f6003193601126101e1577f18e79a20000000000000000000000000000000000000000000000000000000005f525ffd5b83346101e1575f6003193601126101e1576020905167016345785d8a00008152f35b346101e1575f6003193601126101e157335f908152600260205260409020805460018101909155005b83346101e15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256115c836611f65565b9391946115d3612755565b5193845273ffffffffffffffffffffffffffffffffffffffff908116941692a3005b83346101e1575f6003193601126101e15780516005549091825f61161884612041565b808352602094600190866001821691825f146116a557505060011461164a575b50506101dd9291611011910385611eca565b9085925060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f925b82841061168d5750505082010181611011611638565b8054848a018601528895508794909301928101611677565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506110119050611638565b5082346101e1575f6003193601126101e15780519061170382611e62565b606082526020908183019160608352818401926060845273ffffffffffffffffffffffffffffffffffffffff95867f0000000000000000000000000000000000000000000000000000000000000000169084517fca4f280300000000000000000000000000000000000000000000000000000000815230828201525f81602481865afa90811561189757905f9291839161187d575b50885260248651809481937f7e361bde00000000000000000000000000000000000000000000000000000000835230908301525afa908115611873575f9161185a575b5081959295526117e96128f8565b84528251948086526080860192519260608288015283518091528160a088019401915f5b8281106118445788806101dd8a8a6118338b8b51601f1993848884030190880152611fa7565b915190848303016060850152611fa7565b83518a168652948101949281019260010161180d565b61186e91503d805f833e61089d8183611eca565b6117db565b84513d5f823e3d90fd5b61189191503d8085833e610cd78183611eca565b8a611798565b86513d5f823e3d90fd5b83346101e1575f6003193601126101e157602090610e8d6127c0565b83346101e1575f6003193601126101e1576020905160128152f35b83346101e1575f6003193601126101e157602090517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b83346101e1575f6003193601126101e157602090516729a2241af62c00008152f35b83346101e15760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115c836611f65565b5082346101e15760205f608461197b36611f65565b86517f15dacbea000000000000000000000000000000000000000000000000000000008152339881019890985273ffffffffffffffffffffffffffffffffffffffff928316602489015290821660448801526064870152859283917f0000000000000000000000000000000000000000000000000000000000000000165af18015610def57610db5576020905160018152f35b83346101e1575f6003193601126101e157602090610e8d6120cf565b8382346101e15760606003193601126101e157803567ffffffffffffffff81116101e157611a5b9036908301611f05565b9160243592611a77611a7085604435936120bb565b51946125ca565b60019081831115611c5d5760025b80600314611be75780600414611b4e5780600114611b0c57600214611ab757605185634e487b7160e01b5f525260245ffd5b909192938115611ae65750610e8d9260209592610f15926ec097ce7bc90715b34b9f0fffffffff040190612ba2565b7f0a0c22c7000000000000000000000000000000000000000000000000000000005f525ffd5b5080929394915015611b3b575092610f15610e8d926020956ec097ce7bc90715b34b9f10000000000490612ba2565b601290634e487b7160e01b5f525260245ffd5b509192939080670de0b6b3a7640000935f925b611ba7575b5050508115611b81575092610f15610e8d9260209590612ba2565b7f26543689000000000000000000000000000000000000000000000000000000005f525ffd5b909193670de0b6b3a764000051851015611be1579082611bd98193610f15611bcf89866120bb565b51610f0e8a612086565b950192611b61565b93611b66565b509192939080670de0b6b3a7640000935f925b611c19575050508115611b81575092610f15610e8d9260209590612ba2565b909193670de0b6b3a764000051851015611be1579082670de0b6b3a7640000611c548294610fa5611c4a8a876120bb565b51610f9e8b612086565b04950192611bfa565b81611a85565b5082346101e157806003193601126101e1576020610d6492611c83611e1c565b83517fe1f21c670000000000000000000000000000000000000000000000000000000081523392810192835273ffffffffffffffffffffffffffffffffffffffff909116602083015260243560408301529384918291606090910190565b83346101e1575f6003193601126101e15780516003549091825f611d0484612041565b808352602094600190866001821691825f146116a5575050600114611d355750506101dd9291611011910385611eca565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410611d785750505082010181611011611638565b8054848a018601528895508794909301928101611d62565b82346101e15760206003193601126101e15735907fffffffff0000000000000000000000000000000000000000000000000000000082168092036101e1577f01ffc9a700000000000000000000000000000000000000000000000000000000602092148152f35b90601f19601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101e157565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101e157565b6060810190811067ffffffffffffffff821117611e7e57604052565b634e487b7160e01b5f52604160045260245ffd5b60e0810190811067ffffffffffffffff821117611e7e57604052565b6040810190811067ffffffffffffffff821117611e7e57604052565b90601f601f19910116810190811067ffffffffffffffff821117611e7e57604052565b67ffffffffffffffff8111611e7e5760051b60200190565b9080601f830112156101e1576020908235611f1f81611eed565b93611f2d6040519586611eca565b81855260208086019260051b8201019283116101e157602001905b828210611f56575050505090565b81358152908301908301611f48565b60031960609101126101e15773ffffffffffffffffffffffffffffffffffffffff9060043582811681036101e1579160243590811681036101e1579060443590565b9081518082526020808093019301915f5b828110611fc6575050505090565b835185529381019392810192600101611fb8565b9081518082526020808093019301915f5b828110611ff9575050505090565b835173ffffffffffffffffffffffffffffffffffffffff1685529381019392810192600101611feb565b6002111561202d57565b634e487b7160e01b5f52602160045260245ffd5b90600182811c9216801561206f575b602083101461205b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612050565b519081151582036101e157565b670de0b6b3a7640000518110156120a75760051b670de0b6b3a76400200190565b634e487b7160e01b5f52603260045260245ffd5b80518210156120a75760209160051b010190565b6040517fe4dc2aa400000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561217a575f9161214b575090565b90506020813d602011612172575b8161216660209383611eca565b810103126101e1575190565b3d9150612159565b6040513d5f823e3d90fd5b9080601f830112156101e1578151906020916121a081611eed565b936121ae6040519586611eca565b81855260208086019260051b8201019283116101e157602001905b8282106121d7575050505090565b815173ffffffffffffffffffffffffffffffffffffffff811681036101e15781529083019083016121c9565b906020828203126101e157815167ffffffffffffffff81116101e1576122299201612185565b90565b9080601f830112156101e15781519060209161224781611eed565b936122556040519586611eca565b81855260208086019260051b8201019283116101e157602001905b82821061227e575050505090565b81518152908301908301612270565b9190916040818403126101e15780519267ffffffffffffffff938481116101e157816122ba91840161222c565b9360208301519081116101e157612229920161222c565b604081019081516122e860608301918251906120bb565b519251916122fc60808201938451906120bb565b5191815161230981612023565b61231281612023565b6123d15761232c612325602092516125ca565b94516125ca565b910151670de0b6b3a7640000948561234382612b3d565b0482116123a95761235761235d9282612b30565b9061306f565b848402938085048614901517156123955761237e6123849261239195612b84565b90612ba2565b8381810391100290612b71565b0490565b634e487b7160e01b5f52601160045260245ffd5b7f340a4533000000000000000000000000000000000000000000000000000000005f5260045ffd5b6123eb6123e460209295939495516125ca565b92516125ca565b920151670de0b6b3a764000061240085612b3d565b04811161245a578303908382116123955761242161237e926124279561306f565b9261306f565b7ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000081019081116123955761222991612c4c565b7f64590b9f000000000000000000000000000000000000000000000000000000005f5260045ffd5b6101a0918190038281126101e15760405192610140928385019267ffffffffffffffff9086851082861117611e7e576080136101e1576101c0860190811184821017611e7e576040526124d481612079565b83526124e260208201612079565b9261016093848701526124f760408301612079565b92610180938488015261250c60608401612079565b9087015285526080810151602086015260a0810151604086015260c0810151606086015260e081015164ffffffffff811681036101e15760808601526101008082015163ffffffff811681036101e15761259d946125939160a08901526125876101209761257b898701612079565b60c08b01528501612079565b60e08901528301612079565b9086015201612079565b9082015290565b906020828203126101e157815167ffffffffffffffff81116101e157612229920161222c565b806125f457507f000000000000000000000000000000000000000000000000000000000000000090565b6001810361262157507f000000000000000000000000000000000000000000000000000000000000000090565b6002810361264e57507f000000000000000000000000000000000000000000000000000000000000000090565b6003810361267b57507f000000000000000000000000000000000000000000000000000000000000000090565b600481036126a857507f000000000000000000000000000000000000000000000000000000000000000090565b600581036126d557507f000000000000000000000000000000000000000000000000000000000000000090565b6006810361270257507f000000000000000000000000000000000000000000000000000000000000000090565b60070361272d577f000000000000000000000000000000000000000000000000000000000000000090565b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361279457565b7f089676d5000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806128cf575b15612828577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e7e5760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000046146127ff565b7f000000000000000000000000000000000000000000000000000000000000000061292281611eed565b906129306040519283611eca565b80825261293c81611eed565b601f196020840191013682378251156120a7577f000000000000000000000000000000000000000000000000000000000000000090528151600110156120a7577f000000000000000000000000000000000000000000000000000000000000000060408301526002811115612b2c578151600210156120a7577f000000000000000000000000000000000000000000000000000000000000000060608301526003811115612b2c578151600310156120a7577f0000000000000000000000000000000000000000000000000000000000000000608083015260049081811115612b27578251821015612b14577f000000000000000000000000000000000000000000000000000000000000000060a08401526005811115612b2757825160051015612b14577f000000000000000000000000000000000000000000000000000000000000000060c08401526006811115612b2757825160061015612b14576007907f000000000000000000000000000000000000000000000000000000000000000060e085015211612acc575090565b815160071015612b0157507f000000000000000000000000000000000000000000000000000000000000000061010082015290565b603290634e487b7160e01b5f525260245ffd5b603282634e487b7160e01b5f525260245ffd5b505090565b5090565b9190820180921161239557565b90670429d069189e00009182810292818404149015171561239557565b906127109182810292818404149015171561239557565b8181029291811591840414171561239557565b8115612b8e570490565b634e487b7160e01b5f52601260045260245ffd5b90670de0b6b3a764000090818103612bb957505090565b671bc16d674ec800008103612bd45750508061222991612c4c565b673782dace9d9000008103612bf8575050612bf28161222992612c4c565b80612c4c565b612c02919261310b565b906001612c0e83612b5a565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301040190151502600181018091116123955761222991612b30565b90612c5691612b71565b6001670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830104019015150290565b60ff8114612ce15760ff811690601f8211612cb95760405191612caf83611eae565b8252602082015290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f815f5491612cf383612041565b80835292602090600190818116908115612d7c5750600114612d1e575b505061222992500382611eca565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b828410612d6457506122299450505081016020015f80612d10565b85548785018301529485019486945092810192612d49565b9050602093506122299592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f80612d10565b60ff8114612de15760ff811690601f8211612cb95760405191612caf83611eae565b506040515f81600191600154612df681612041565b8084529360209160018116908115612d7c5750600114612e1e57505061222992500382611eca565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b828410612e6557506122299450505081016020015f80612d10565b85548785018301529485019486945092810192612e4a565b670de0b6b3a764000091808303612e945750905090565b8290671bc16d674ec800008103612eb15750508061239191612b71565b673782dace9d9000008103612ed55750612ece8261239193612b71565b0480612b71565b9050612ee09161310b565b612ee981612b5a565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff93848301040190151502906001820180831161239557811015612f30575050505f90565b030190565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612fb9579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561217a575f5173ffffffffffffffffffffffffffffffffffffffff811615612faf57905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561202d5780612fd6575050565b60018103613006577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361303a57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146130445750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9080156130bf57670de0b6b3a764000091828102928184041490151715612395576001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830104019015150290565b7f0a0c22c7000000000000000000000000000000000000000000000000000000005f5260045ffd5b8015612b8e576ec097ce7bc90715b34b9f10000000000590565b8115612b8e570590565b908015613a34578115613a2e578160ff1c613a0657770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328110156139de5781670c7d713b49da000012806139cd575b1561366a57670de0b6b3a7640000916ec097ce7bc90715b34b9f1000000000906131a4908402828101907fffffffffffffffffffffffffffffffffff3f68318436f8ea4cb460f000000000018302613101565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b057ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008181131580613657575b1561362f5781908212158061361c575b156135f4575f915f81126135e5575b506064906806f05b59d3b20000008112613582577ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000000168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215613549575b6856bc75e2d63100000081121561350f575b682b5e3af16b188000008112156134d7575b6815af1d78b58c40000081121561349f575b680ad78ebc5ac6200000811215613468575b82811215613431575b6802b5e3af16b18800008112156133fa575b68015af1d78b58c400008112156133c3575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f1461222957612229906130e7565b6806f5f17757889379377ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000084920192020590613344565b6808f00f760a4b2db55d7ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000084920192020590613332565b680ebc5fb417461211107ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000084920192020590613320565b68280e60114edb805d037ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e0000084920192020590613317565b690127fa27722cc06cc5e27fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c0000084920192020590613305565b693f1fce3da636ea5cf8507fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e7800000849201920205906132f3565b6b02df0ab5a80a22c61ab5a7007fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf000000849201920205906132e1565b6e01855144814a7ff805980ff008400091507fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000000016132cf565b6803782dace9d900000081126135d2577ffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000000168056bc75e2d63100000826b1425982cf597cd205cef7380926132ba565b68056bc75e2d63100000826001926132ba565b600192505f039050606461325e565b7fd4794efd000000000000000000000000000000000000000000000000000000005f5260045ffd5b5068070c1cc73b00c8000082131561324f565b7fa2f9f7e3000000000000000000000000000000000000000000000000000000005f5260045ffd5b5068070c1cc73b00c8000082131561323f565b81670de0b6b3a7640000925f918481126139b7575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000082121561398c575b73011798004d755d3c8bc8e03204cf44619e00000082121561396b575b820290808302906e01855144814a7ff805980ff00840009081831215613948575b50506b02df0ab5a80a22c61ab5a70080821215613928575b50693f1fce3da636ea5cf85080821215613908575b50690127fa27722cc06cc5e2808212156138e8575b5068280e60114edb805d03808212156138c8575b50680ebc5fb41746121110808212156138b1575b506808f00f760a4b2db55d80821215613891575b506806f5f177578893793780821215613871575b506806248f33704b28660380821215613852575b506805c548670b9510e7ac80821215613833575b506137e068056bc75e2d6310000091827ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000818301920102613101565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f1461382e575f035b02613213565b613828565b68056bc75e2d631000006756bc75e2d63100009202059101905f6137a4565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f613790565b68056bc75e2d6310000068015af1d78b58c400009202059101905f61377c565b68056bc75e2d631000006802b5e3af16b18800009202059101905f613768565b68056bc75e2d63100000809202059101905f613754565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f613740565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61372c565b68056bc75e2d63100000682b5e3af16b188000009202059101905f613717565b68056bc75e2d631000006856bc75e2d6310000009202059101905f613702565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f806136ea565b906b1425982cf597cd205cef73806803782dace9d9000000910591016136c9565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b20000006136ac565b90506139c391506130e7565b600190606461367f565b50670f43fc2c04ee00008212613151565b7fd8317311000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f022701e0000000000000000000000000000000000000000000000000000000005f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea26469706673582212204b1676dd274814fed4fff49a83b5404b448d288d13e3f2848873c7c36baed2cf64736f6c634300081a00330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000b3530555344432035304047000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3530555344432d35304047000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000004c7b226e616d65223a225765696768746564506f6f6c222c2276657273696f6e223a312c226465706c6f796d656e74223a2232303234313230352d76332d77656967687465642d706f6f6c227d0000000000000000000000000000000000000000
0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000b3530555344432035304047000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3530555344432d35304047000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000004c7b226e616d65223a225765696768746564506f6f6c222c2276657273696f6e223a312c226465706c6f796d656e74223a2232303234313230352d76332d77656967687465642d706f6f6c227d0000000000000000000000000000000000000000