[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "address", "name": "to", "type": "address" } ], "name": "DrainWrongToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "token0FeePercent", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "token1FeePercent", "type": "uint16" } ], "name": "FeePercentUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [], "name": "SetPairTypeImmutable", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "prevStableSwap", "type": "bool" }, { "indexed": false, "internalType": "bool", "name": "stableSwap", "type": "bool" } ], "name": "SetStableSwap", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Skim", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Swap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint112", "name": "reserve0", "type": "uint112" }, { "indexed": false, "internalType": "uint112", "name": "reserve1", "type": "uint112" } ], "name": "Sync", "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": "FEE_DENOMINATOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_FEE_PERCENT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINIMUM_LIQUIDITY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "feeSharingContract", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "assign", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "burn", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "drainWrongToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "internalType": "address", "name": "tokenIn", "type": "address" } ], "name": "getAmountOut", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReserves", "outputs": [ { "internalType": "uint112", "name": "_reserve0", "type": "uint112" }, { "internalType": "uint112", "name": "_reserve1", "type": "uint112" }, { "internalType": "uint16", "name": "_token0FeePercent", "type": "uint16" }, { "internalType": "uint16", "name": "_token1FeePercent", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token0", "type": "address" }, { "internalType": "address", "name": "_token1", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "kLast", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "liquidity", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairTypeImmutable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "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": [], "name": "precisionMultiplier0", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "precisionMultiplier1", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "feeSharingContract", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "register", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "newToken0FeePercent", "type": "uint16" }, { "internalType": "uint16", "name": "newToken1FeePercent", "type": "uint16" } ], "name": "setFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setPairTypeImmutable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "stable", "type": "bool" }, { "internalType": "uint112", "name": "expectedReserve0", "type": "uint112" }, { "internalType": "uint112", "name": "expectedReserve1", "type": "uint112" } ], "name": "setStableSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "skim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stableSwap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "address", "name": "referrer", "type": "address" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sync", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token0FeePercent", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token1FeePercent", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "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": "value", "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": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "feeSharingContract", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address payable", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040526008805461ffff60e01b1916604b60e21b176001600160f01b0316604b60f21b1790556001600d5534801561003857600080fd5b5060405146908060526140f98239604080519182900360520182208282018252600683526504b696d204c560d41b6020938401528151808301835260018152603160f81b908401528151808401919091527f44bdfa699994f96d5a8ee53bc47a36e8899c183ecd44628a53c5cc346c910506818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060035550600580546001600160a01b03191633179055613fd5806101246000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80636a62784211610151578063ba9a7a56116100c3578063d505accf11610087578063d505accf146107d9578063d73792a91461082a578063dd62ed3e14610832578063f140a35a14610860578063f39ac11f1461088c578063fff6cae9146108ba57610269565b8063ba9a7a561461076f578063bc25cf7714610777578063be7604881461079d578063c45a0155146107c9578063d21220a7146107d157610269565b806389afcb441161011557806389afcb44146106be57806395d89b41146106fd5780639e548b7f14610705578063a9059cbb1461070d578063aa67735414610739578063b6200b071461076757610269565b80636a627842146105af5780636e1fdd7f146105d557806370a082311461066a5780637464fc3d146106905780637ecebe001461069857610269565b80633029e5d4116101ea5780633ba17077116101ae5780633ba1707714610506578063485cc9551461050e57806348e5d2601461053c5780634b2084e31461056557806362ecec031461059f57806367d81740146105a757610269565b80633029e5d41461049a57806330adf81f146104d0578063313ce567146104d85780633644e515146104f65780633b9f1dc0146104fe57610269565b8063158ef93e11610231578063158ef93e1461041b57806318160ddd1461042357806323b872dd1461043d578063288e5d02146104735780632fcd16921461047b57610269565b8063022c0d9f1461026e57806306fdde03146102fc5780630902f1ac14610379578063095ea7b3146103b75780630dfe1681146103f7575b600080fd5b6102fa6004803603608081101561028457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156102bb57600080fd5b8201836020820111156102cd57600080fd5b803590602001918460018302840111640100000000831117156102ef57600080fd5b5090925090506108c2565b005b610304610963565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561033e578181015183820152602001610326565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610381610985565b604080516001600160701b03958616815293909416602084015261ffff9182168385015216606082015290519081900360800190f35b6103e3600480360360408110156103cd57600080fd5b506001600160a01b0381351690602001356109b8565b604080519115158252519081900360200190f35b6103ff6109cf565b604080516001600160a01b039092168252519081900360200190f35b6103e36109de565b61042b6109ee565b60408051918252519081900360200190f35b6103e36004803603606081101561045357600080fd5b506001600160a01b038135811691602081013590911690604001356109f4565b61042b610acb565b610483610ad1565b6040805161ffff9092168252519081900360200190f35b6102fa600480360360608110156104b057600080fd5b5080351515906001600160701b0360208201358116916040013516610ae2565b61042b610dbe565b6104e0610de2565b6040805160ff9092168252519081900360200190f35b61042b610de7565b61042b610ded565b6102fa610df3565b6102fa6004803603604081101561052457600080fd5b506001600160a01b0381358116916020013516610fa1565b6102fa6004803603604081101561055257600080fd5b5061ffff81358116916020013516611131565b61042b6004803603608081101561057b57600080fd5b506001600160a01b038135811691602081013591604082013516906060013561135a565b610483611563565b61042b611574565b61042b600480360360208110156105c557600080fd5b50356001600160a01b031661157a565b6102fa600480360360a08110156105eb57600080fd5b8135916020810135916001600160a01b03604083013516919081019060808101606082013564010000000081111561062257600080fd5b82018360208201111561063457600080fd5b8035906020019184600183028401116401000000008311171561065657600080fd5b9193509150356001600160a01b031661187d565b61042b6004803603602081101561068057600080fd5b50356001600160a01b0316611921565b61042b611933565b61042b600480360360208110156106ae57600080fd5b50356001600160a01b0316611939565b6106e4600480360360208110156106d457600080fd5b50356001600160a01b031661194b565b6040805192835260208301919091528051918290030190f35b610304611ce8565b6103e3611d0a565b6103e36004803603604081101561072357600080fd5b506001600160a01b038135169060200135611d13565b61042b6004803603604081101561074f57600080fd5b506001600160a01b0381358116916020013516611d20565b6103e3611e66565b61042b611e74565b6102fa6004803603602081101561078d57600080fd5b50356001600160a01b0316611e7a565b61042b600480360360408110156107b357600080fd5b506001600160a01b03813516906020013561200c565b6103ff61210d565b6103ff61211c565b6102fa600480360360e08110156107ef57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561212b565b61042b61232d565b61042b6004803603604081101561084857600080fd5b506001600160a01b0381358116916020013516612334565b61042b6004803603604081101561087657600080fd5b50803590602001356001600160a01b0316612351565b6102fa600480360360408110156108a257600080fd5b506001600160a01b03813581169160200135166123c1565b6102fa61261f565b6108ca613da5565b5060408051610100810182526006546001600160a01b039081168252600754166020808301919091528183018890526060820187905260006080830181905260a0830181905260c0830181905260e08301528251601f8501829004820281018201909352838352909161095b91839187918790879081908401838280828437600092018290525092506127c1915050565b505050505050565b6040518060400160405280600681526020016504b696d204c560d41b81525081565b6008546001600160701b0380821692600160701b83049091169161ffff600160e01b8204811692600160f01b9092041690565b60006109c5338484613186565b5060015b92915050565b6006546001600160a01b031681565b600754600160a01b900460ff1681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610ab5576001600160a01b0384166000908152600260209081526040808320338452909152812054610a54908463ffffffff6131e816565b6001600160a01b038616600081815260026020908152604080832033808552908352928190208590558051858152905194955091937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505b610ac0848484613238565b5060015b9392505050565b600a5481565b600854600160f01b900461ffff1681565b600d54600114610b2b576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d5560055460408051637e1c813560e11b815290516001600160a01b039092169163fc39026a91600480820192602092909190829003018186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d6020811015610b9f57600080fd5b50516001600160a01b03163314610be75760405162461bcd60e51b8152600401808060200182810382526026815260200180613f576026913960400191505060405180910390fd5b600c54610100900460ff1615610c39576040805162461bcd60e51b81526020600482015260126024820152714b696d506169723a20696d6d757461626c6560701b604482015290519081900360640190fd5b600c5460ff1615158315151415610c8c576040805162461bcd60e51b81526020600482015260126024820152714b696d506169723a206e6f2075706461746560701b604482015290519081900360640190fd5b6008546001600160701b038381169116148015610cbd57506008546001600160701b03828116600160701b90920416145b610d00576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e8819985a5b1959608a1b604482015290519081900360640190fd5b600854600090610d23906001600160701b0380821691600160701b9004166132f2565b600c546040805160ff90921615158252861515602083015280519293507fb6a86710bde53aa7fb1b3856279e2af5b476d53e2dd0902cf17a0911b5a43a8b92918290030190a1600c805460ff191685158015919091179091558490610d855750805b610d90576000610db0565b600854610db0906001600160701b0380821691600160701b9004166134ab565b600b5550506001600d555050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60095481565b600560009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4157600080fd5b505afa158015610e55573d6000803e3d6000fd5b505050506040513d6020811015610e6b57600080fd5b50516001600160a01b03163314610eb7576040805162461bcd60e51b815260206004820152601d6024820152600080516020613e1f833981519152604482015290519081900360640190fd5b600d54600114610f00576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d55600c54610100900460ff1615610f62576040805162461bcd60e51b815260206004820152601a60248201527f4b696d506169723a20616c726561647920696d6d757461626c65000000000000604482015290519081900360640190fd5b600c805461ff0019166101001790556040517f09122c41ae733a4d7740324d50e35fbd6ee85be3c1312a45596d8045150ab2f290600090a16001600d55565b6005546001600160a01b031633148015610fc55750600754600160a01b900460ff16155b61100b576040805162461bcd60e51b815260206004820152601260248201527125b4b6a830b4b91d102327a92124a22222a760711b604482015290519081900360640190fd5b600680546001600160a01b038085166001600160a01b0319928316811790935560078054918516919092161790556040805163313ce56760e01b8152905163313ce56791600480820192602092909190829003018186803b15801561106f57600080fd5b505afa158015611083573d6000803e3d6000fd5b505050506040513d602081101561109957600080fd5b505160ff16600a0a6009556040805163313ce56760e01b815290516001600160a01b0383169163313ce567916004808301926020929190829003018186803b1580156110e457600080fd5b505afa1580156110f8573d6000803e3d6000fd5b505050506040513d602081101561110e57600080fd5b505160ff16600a90810a905550506007805460ff60a01b1916600160a01b179055565b600d5460011461117a576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d5560055460408051634c21771560e01b815290516001600160a01b0390921691634c21771591600480820192602092909190829003018186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b50516001600160a01b031633146112365760405162461bcd60e51b8152600401808060200182810382526026815260200180613e936026913960400191505060405180910390fd5b6107d08261ffff161115801561125257506107d08161ffff1611155b61128d5760405162461bcd60e51b815260040180806020018281038252602e815260200180613e3f602e913960400191505060405180910390fd5b60008261ffff161180156112a5575060008161ffff16115b6112e05760405162461bcd60e51b815260040180806020018281038252602e815260200180613f29602e913960400191505060405180910390fd5b6008805461ffff60e01b1916600160e01b61ffff858116918202929092176001600160f01b0316600160f01b9285169283021790925560408051928352602083019190915280517fa4877b8ecb5a00ba277e4bceeeb187a669e7113649774dfbea05c259ce27f17b9281900390910190a150506001600d55565b60055460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561139f57600080fd5b505afa1580156113b3573d6000803e3d6000fd5b505050506040513d60208110156113c957600080fd5b50516001600160a01b03163314611415576040805162461bcd60e51b815260206004820152601d6024820152600080516020613e1f833981519152604482015290519081900360640190fd5b60408051602481018690526001600160a01b038581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b0316631cc6d2f960e31b17815292518251600094606094938b169392918291908083835b602083106114995780518252601f19909201916020918201910161147a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114fb576040519150601f19603f3d011682016040523d82523d6000602084013e611500565b606091505b5091509150816115415760405162461bcd60e51b8152600401808060200182810382526022815260200180613dfd6022913960400191505060405180910390fd5b80806020019051602081101561155657600080fd5b5051979650505050505050565b600854600160e01b900461ffff1681565b6107d081565b6000600d546001146115c5576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d819055806115d5610985565b5050600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561162a57600080fd5b505afa15801561163e573d6000803e3d6000fd5b505050506040513d602081101561165457600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156116a757600080fd5b505afa1580156116bb573d6000803e3d6000fd5b505050506040513d60208110156116d157600080fd5b5051905060006116f0836001600160701b03871663ffffffff6131e816565b9050600061170d836001600160701b03871663ffffffff6131e816565b9050600061171b87876132f2565b60005490915080611764576117506103e861174461173f878763ffffffff6135c116565b613624565b9063ffffffff6131e816565b985061175f60006103e8613676565b6117b3565b6117b06001600160701b038916611781868463ffffffff6135c116565b8161178857fe5b046001600160701b0389166117a3868563ffffffff6135c116565b816117aa57fe5b0461370c565b98505b600089116117f25760405162461bcd60e51b8152600401808060200182810382526026815260200180613e6d6026913960400191505060405180910390fd5b6117fc8a8a613676565b6118068686613722565b81156118305760085461182c906001600160701b0380821691600160701b9004166134ab565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600d5550949695505050505050565b611885613da5565b5060408051610100810182526006546001600160a01b039081168252600754166020808301919091528183018990526060820188905260006080830181905260a0830181905260c0830181905260e08301528251601f86018290048202810182019093528483529091611918918391889188908890819084018382808284376000920191909152508892506127c1915050565b50505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600d54600114611997576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d819055806119a7610985565b5050600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b158015611a0457600080fd5b505afa158015611a18573d6000803e3d6000fd5b505050506040513d6020811015611a2e57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b158015611a7c57600080fd5b505afa158015611a90573d6000803e3d6000fd5b505050506040513d6020811015611aa657600080fd5b505130600090815260016020526040812054919250611ac588886132f2565b60005490915080611adc848763ffffffff6135c116565b81611ae357fe5b049a5080611af7848663ffffffff6135c116565b81611afe57fe5b04995060008b118015611b11575060008a115b611b4c5760405162461bcd60e51b8152600401808060200182810382526026815260200180613ee16026913960400191505060405180910390fd5b611b56308461380b565b611b61878d8d6138a9565b611b6c868d8c6138a9565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d6020811015611bdc57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b158015611c2857600080fd5b505afa158015611c3c573d6000803e3d6000fd5b505050506040513d6020811015611c5257600080fd5b50519350611c608585613722565b8115611c8a57600854611c86906001600160701b0380821691600160701b9004166134ab565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600d81905550915091565b6040518060400160405280600681526020016504b494d2d4c560d41b81525081565b600c5460ff1681565b60006109c5338484613238565b60055460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015611d6557600080fd5b505afa158015611d79573d6000803e3d6000fd5b505050506040513d6020811015611d8f57600080fd5b50516001600160a01b03163314611ddb576040805162461bcd60e51b815260206004820152601d6024820152600080516020613e1f833981519152604482015290519081900360640190fd5b826001600160a01b0316634420e486836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050506040513d6020811015611e5d57600080fd5b50519392505050565b600c54610100900460ff1681565b6103e881565b600d54600114611ec3576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b039485169490931692611f729285928792611f6d926001600160701b03169185916370a0823191602480820192602092909190829003018186803b158015611f3557600080fd5b505afa158015611f49573d6000803e3d6000fd5b505050506040513d6020811015611f5f57600080fd5b50519063ffffffff6131e816565b6138a9565b600854604080516370a0823160e01b81523060048201529051611fd99284928792611f6d92600160701b90046001600160701b0316916001600160a01b038616916370a0823191602480820192602092909190829003018186803b158015611f3557600080fd5b6040517f21ad22495c9c75cd1c94756f91824e779c0c8a8e168b267c790df464fe056b7990600090a150506001600d5550565b60055460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b505050506040513d602081101561207b57600080fd5b50516001600160a01b031633146120c7576040805162461bcd60e51b815260206004820152601d6024820152600080516020613e1f833981519152604482015290519081900360640190fd5b826001600160a01b0316634c081138836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015611e3357600080fd5b6005546001600160a01b031681565b6007546001600160a01b031681565b42841015612175576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015612290573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906122c65750886001600160a01b0316816001600160a01b0316145b612317576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b612322898989613186565b505050505050505050565b620186a081565b600260209081526000928352604080842090915290825290205481565b60065460009081906001600160a01b0384811691161461237e57600854600160f01b900461ffff1661238d565b600854600160e01b900461ffff165b6008549091506123b990859085906001600160701b0380821691600160701b90041661ffff8616613a43565b949350505050565b600560009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561240f57600080fd5b505afa158015612423573d6000803e3d6000fd5b505050506040513d602081101561243957600080fd5b50516001600160a01b03163314612485576040805162461bcd60e51b815260206004820152601d6024820152600080516020613e1f833981519152604482015290519081900360640190fd5b600d546001146124ce576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d556006546001600160a01b038381169116148015906124ff57506007546001600160a01b03838116911614155b612549576040805162461bcd60e51b815260206004820152601660248201527525b4b6a830b4b91d1034b73b30b634b2103a37b5b2b760511b604482015290519081900360640190fd5b6125d58282846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156125a457600080fd5b505afa1580156125b8573d6000803e3d6000fd5b505050506040513d60208110156125ce57600080fd5b50516138a9565b604080516001600160a01b0383811682529151918416917f368a9dc863ecb94b5ba32a682e26295b10d9c2666fad7d785ebdf262c3c524139181900360200190a250506001600d55565b600d54600114612668576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d819055600654604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156126ba57600080fd5b505afa1580156126ce573d6000803e3d6000fd5b505050506040513d60208110156126e457600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561273757600080fd5b505afa15801561274b573d6000803e3d6000fd5b505050506040513d602081101561276157600080fd5b50519050811580159061277357508015155b6127ae5760405162461bcd60e51b8152600401808060200182810382526028815260200180613eb96028913960400191505060405180910390fd5b6127b88282613722565b50506001600d55565b600d5460011461280a576040805162461bcd60e51b815260206004820152600f60248201526e12da5b54185a5c8e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600d556040840151151580612825575060008460600151115b6128605760405162461bcd60e51b8152600401808060200182810382526023815260200180613f7d6023913960400191505060405180910390fd5b60008060008061286e610985565b9350935093509350836001600160701b0316886040015110801561289e5750826001600160701b03168860600151105b6128ef576040805162461bcd60e51b815260206004820152601f60248201527f4b696d506169723a20494e53554646494349454e545f4c495155494449545900604482015290519081900360640190fd5b87516001600160a01b03888116911614801590612922575087602001516001600160a01b0316876001600160a01b031614155b612969576040805162461bcd60e51b81526020600482015260136024820152724b696d506169723a20494e56414c49445f544f60681b604482015290519081900360640190fd5b604088015115612986576129868860000151888a604001516138a9565b6060880151156129a3576129a38860200151888a606001516138a9565b855115612a9d57866001600160a01b03166310d1e85c338a604001518b606001518a6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612a35578181015183820152602001612a1d565b50505050905090810190601f168015612a625780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612a8457600080fd5b505af1158015612a98573d6000803e3d6000fd5b505050505b8751604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015612ae757600080fd5b505afa158015612afb573d6000803e3d6000fd5b505050506040513d6020811015612b1157600080fd5b50516080890152602088810151604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b158015612b6057600080fd5b505afa158015612b74573d6000803e3d6000fd5b505050506040513d6020811015612b8a57600080fd5b505160a0890152604088015160808901516000916001600160701b0387160310612bb5576000612bcc565b8860400151856001600160701b0316038960800151035b905060008960600151856001600160701b0316038a60a0015111612bf1576000612c08565b8960600151856001600160701b0316038a60a00151035b90506000821180612c195750600081115b612c545760405162461bcd60e51b8152600401808060200182810382526022815260200180613f076022913960400191505060405180910390fd5b620186a0612c6c8361ffff871663ffffffff6135c116565b81612c7357fe5b0460c08b0152620186a0612c918261ffff861663ffffffff6135c116565b81612c9857fe5b0460e08b01526000806001600160a01b038916612cb6576000612d30565b60055460408051631c60f51f60e21b81526001600160a01b038c8116600483015291519190921691637183d47c916024808301926020929190829003018186803b158015612d0357600080fd5b505afa158015612d17573d6000803e3d6000fd5b505050506040513d6020811015612d2d57600080fd5b50515b90508015612df5578315612d9b576402540be400612d6861ffff8816612d5c878563ffffffff6135c116565b9063ffffffff6135c116565b81612d6f57fe5b049150612d89828d60c001516131e890919063ffffffff16565b60c08d01528b51612d9b908a846138a9565b8215612df5576402540be400612dbf61ffff8716612d5c868563ffffffff6135c116565b81612dc657fe5b049150612de0828d60e001516131e890919063ffffffff16565b60e08d015260208c0151612df5908a846138a9565b600c5460ff1615612f5d5760055460408051634cadad5760e11b8152815160009384936001600160a01b039091169263995b5aae9260048083019392829003018186803b158015612e4557600080fd5b505afa158015612e59573d6000803e3d6000fd5b505050506040513d6040811015612e6f57600080fd5b50805160209091015190925090506001600160a01b03811615612f5a57612ea382612d5c620186a08663ffffffff6131e816565b91508515612efe5766038d7ea4c68000612ecb61ffff8a16612d5c898663ffffffff6135c116565b81612ed257fe5b049350612eec848f60c001516131e890919063ffffffff16565b60c08f01528d51612efe9082866138a9565b8415612f5a5766038d7ea4c68000612f2461ffff8916612d5c888663ffffffff6135c116565b81612f2b57fe5b049350612f45848f60e001516131e890919063ffffffff16565b60e08f015260208e0151612f5a9082866138a9565b50505b8315612fdf578b51604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015612fad57600080fd5b505afa158015612fc1573d6000803e3d6000fd5b505050506040513d6020811015612fd757600080fd5b505160808d01525b821561305f576020808d0151604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b15801561302d57600080fd5b505afa158015613041573d6000803e3d6000fd5b505050506040513d602081101561305757600080fd5b505160a08d01525b5050600061307e8b60c001518c608001516131e890919063ffffffff16565b9050600061309d8c60e001518d60a001516131e890919063ffffffff16565b90506130bb886001600160701b0316886001600160701b03166134ab565b6130c583836134ab565b1015613105576040805162461bcd60e51b815260206004820152600a6024820152694b696d506169723a204b60b01b604482015290519081900360640190fd5b50506131198a608001518b60a00151613722565b6040808b01516060808d0151835186815260208101869052808501939093529082015290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600d555050505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b808203828111156109c9576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260016020526040902054613261908263ffffffff6131e816565b6001600160a01b038085166000908152600160205260408082209390935590841681522054613296908263ffffffff613c1116565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600c5460009060ff1615613308575060006109c9565b60055460408051634cadad5760e11b8152815160009384936001600160a01b039091169263995b5aae9260048083019392829003018186803b15801561334d57600080fd5b505afa158015613361573d6000803e3d6000fd5b505050506040513d604081101561337757600080fd5b508051602090910151600b546001600160a01b0382161580159650929450909250906134965780156134915760006133c461173f886001600160701b0316886001600160701b03166134ab565b905060006133d183613624565b90508082111561348e57600061340a6064876133f6620186a08363ffffffff6135c116565b816133fd57fe5b049063ffffffff6131e816565b905060006134356064612d5c613426878763ffffffff6131e816565b6000549063ffffffff6135c116565b9050600061346961344d85606463ffffffff6135c116565b61345d878663ffffffff6135c116565b9063ffffffff613c1116565b9050600081838161347657fe5b0490508015613489576134898882613676565b505050505b50505b6134a2565b80156134a2576000600b555b50505092915050565b600c5460009060ff16156135b1576009546000906134d785670de0b6b3a764000063ffffffff6135c116565b816134de57fe5b0490506000600a54613501670de0b6b3a7640000866135c190919063ffffffff16565b8161350857fe5b0490506000670de0b6b3a7640000613526848463ffffffff6135c116565b8161352d57fe5b0490506000613583670de0b6b3a764000061354e858063ffffffff6135c116565b8161355557fe5b04670de0b6b3a764000061356f878063ffffffff6135c116565b8161357657fe5b049063ffffffff613c1116565b9050670de0b6b3a764000061359e838363ffffffff6135c116565b816135a557fe5b049450505050506109c9565b610ac4838363ffffffff6135c116565b60008115806135dc575050808202828282816135d957fe5b04145b6109c9576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b60006003821115613667575080600160028204015b818110156136615780915060028182858161365057fe5b04018161365957fe5b049050613639565b50613671565b8115613671575060015b919050565b600054613689908263ffffffff613c1116565b60009081556001600160a01b0383168152600160205260409020546136b4908263ffffffff613c1116565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600081831061371b5781610ac4565b5090919050565b6001600160701b03821180159061374057506001600160701b038111155b613785576040805162461bcd60e51b81526020600482015260116024820152704b696d506169723a204f564552464c4f5760781b604482015290519081900360640190fd5b600880546dffffffffffffffffffffffffffff19166001600160701b038481169182176dffffffffffffffffffffffffffff60701b1916600160701b9185169182021790925560408051918252602082019290925281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a15050565b6001600160a01b038216600090815260016020526040902054613834908263ffffffff6131e816565b6001600160a01b03831660009081526001602052604081209190915554613861908263ffffffff6131e816565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b602083106139565780518252601f199092019160209182019101613937565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146139b8576040519150601f19603f3d011682016040523d82523d6000602084013e6139bd565b606091505b50915091508180156139eb5750805115806139eb57508080602001905160208110156139e857600080fd5b50515b613a3c576040805162461bcd60e51b815260206004820152601860248201527f4b696d506169723a205452414e534645525f4641494c45440000000000000000604482015290519081900360640190fd5b5050505050565b600c5460009060ff1615613b8657613a7e620186a0613a68888563ffffffff6135c116565b81613a6f57fe5b8891900463ffffffff6131e816565b95506000613a8c85856134ab565b905060095485670de0b6b3a76400000281613aa357fe5b049450600a5484670de0b6b3a76400000281613abb57fe5b600654919004945060009081906001600160a01b03898116911614613ae1578587613ae4565b86865b60065491935091506001600160a01b03898116911614613b1957600a5489670de0b6b3a76400000281613b1357fe5b04613b30565b60095489670de0b6b3a76400000281613b2e57fe5b045b98506000613b41838b018584613c60565b6006549083039150670de0b6b3a7640000906001600160a01b038b8116911614613b6d57600954613b71565b600a545b820281613b7a57fe5b04945050505050613c08565b60065460009081906001600160a01b03888116911614613ba7578486613baa565b85855b9092509050613bd2613bc5620186a08663ffffffff6131e816565b899063ffffffff6135c116565b9750613beb8861345d84620186a063ffffffff6135c116565b613bfb898363ffffffff6135c116565b81613c0257fe5b04925050505b95945050505050565b808201828110156109c9576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b6000805b60ff811015613d1857826000613c7a8783613d21565b905085811015613cb0576000613c908887613d71565b828803670de0b6b3a76400000281613ca457fe5b04959095019450613cd7565b6000613cbc8887613d71565b878303670de0b6b3a76400000281613cd057fe5b0490950394505b81851115613cf957600182860311613cf457849350505050610ac4565b613d0e565b600185830311613d0e57849350505050610ac4565b5050600101613c64565b50909392505050565b6000670de0b6b3a764000082818581818002040281613d3c57fe5b040281613d4557fe5b04670de0b6b3a7640000808481818002040281613d5e57fe5b04850281613d6857fe5b04019392505050565b6000670de0b6b3a76400008381818002040281613d8a57fe5b04670de0b6b3a76400008084800204856003020281613d6857fe5b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4b696d506169723a3a77697468647261773a207769746864726177206661696c65644b696d506169723a206f6e6c7920666163746f72792773206f776e65720000004b696d506169723a2066656550657263656e74206d7573746e27742065786365656420746865206d6178696d756d4b696d506169723a20494e53554646494349454e545f4c49515549444954595f4d494e5445444b696d506169723a206f6e6c7920666163746f7279277320666565416d6f756e744f776e65724b696d506169723a206c697175696469747920726174696f206e6f7420696e697469616c697a65644b696d506169723a20494e53554646494349454e545f4c49515549444954595f4255524e45444b696d506169723a20494e53554646494349454e545f494e5055545f414d4f554e544b696d506169723a2066656550657263656e74206d7573746e27742065786365656420746865206d696e696d756d4b696d506169723a206f6e6c7920666163746f7279277320736574537461626c654f776e65724b696d506169723a20494e53554646494349454e545f4f55545055545f414d4f554e54a26469706673582212206b3c7354d93ba67aa078e64c46d9d2d484dbcdb85e7dd23406b0d63387ba583964736f6c63430006050033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429