0 txs
0 calls
constructor
constructor(address _polkaBridgeNFT, address _owner, address _WETH)
functions
getBalanceItemByPackageId
viewfunction getBalanceItemByPackageId(uint256 packageId) view returns (uint256)
getPackageInfo
viewfunction getPackageInfo(uint256 packageId) view returns (tuple retSt)
getPoolInfo
viewfunction getPoolInfo(uint256 pid) view returns (tuple retSt)
getPurchasedPackageIds
viewfunction getPurchasedPackageIds(address user_, uint256 pid) view returns (uint256[])
getRemainINOToken
viewfunction getRemainINOToken(uint256 packageId) view returns (uint256)
IsWhitelist
viewfunction IsWhitelist(address user, uint256 pid) view returns (bool)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
packageLength
viewfunction packageLength() view returns (uint256)
polkaBridgeNFT
viewfunction polkaBridgeNFT() view returns (address)
poolLength
viewfunction poolLength() view returns (uint256)
purchasecheck
viewfunction purchasecheck(uint256, address) view returns (bool)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
WETH
viewfunction WETH() view returns (address)
whitelist
viewfunction whitelist(uint256, address) view returns (uint256 Id, bool IsWhitelist, uint256 WhitelistDate, uint256 PurchaseTime, bool IsClaimed, uint256 TotalETHPurchase, uint256 PurchasedItemCount)
activePool
nonpayablefunction activePool(uint256 pid)
addMulWhitelist
nonpayablefunction addMulWhitelist(address[] user, uint256 pid)
addPackageToPool
nonpayablefunction addPackageToPool(uint256 _PoolId, uint256 _MinimumTokenSoldout, uint256 _TotalItemCount, uint256 _RatePerETH)
addPool
nonpayablefunction addPool(uint256 _Begin, uint256 _End, uint256 _Type, uint256 _AmountPBRRequire, uint256 _LockDuration, uint256 _claimType)
addWhitelist
nonpayablefunction addWhitelist(address user, uint256 pid)
changeOwner
nonpayablefunction changeOwner(address _owner)
claimPool
nonpayablefunction claimPool(uint256 pid)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
purchaseINO
payablefunction purchaseINO(uint256 packageId, uint256 quantity) payable
renounceOwnership
nonpayablefunction renounceOwnership()
stopPool
nonpayablefunction stopPool(uint256 pid)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePackage
nonpayablefunction updatePackage(uint256 _PackageId, uint256 _PoolId, uint256 _MinimumTokenSoldout, uint256 _TotalItemCount, uint256 _RatePerETH)
updatePool
nonpayablefunction updatePool(uint256 pid, uint256 _Begin, uint256 _End, uint256 _Type, uint256 _AmountPBRRequire, uint256 _LockDuration, uint256 _claimType)
updateWhitelist
nonpayablefunction updateWhitelist(address user, uint256 pid, bool isWhitelist)
withdrawErc20
nonpayablefunction withdrawErc20(address token)
withdrawETHFund
nonpayablefunction withdrawETHFund()
withdrawPoolFund
nonpayablefunction withdrawPoolFund()
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x60a06040526040518060400160405280601081526020017f506f6c6b614272696467653a20494e4f0000000000000000000000000000000081525060029080519060200190620000519291906200023a565b503480156200005f57600080fd5b5060405162005efb38038062005efb83398181016040528101906200008591906200032f565b620000a5620000996200016e60201b60201c565b6200017660201b60201c565b6001808190555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000494565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200024890620003e1565b90600052602060002090601f0160209004810192826200026c5760008555620002b8565b82601f106200028757805160ff1916838001178555620002b8565b82800160010185558215620002b8579182015b82811115620002b75782518255916020019190600101906200029a565b5b509050620002c79190620002cb565b5090565b5b80821115620002e6576000816000905550600101620002cc565b5090565b600081519050620002fb8162000446565b92915050565b600081519050620003128162000460565b92915050565b60008151905062000329816200047a565b92915050565b6000806000606084860312156200034557600080fd5b6000620003558682870162000318565b9350506020620003688682870162000301565b92505060406200037b86828701620002ea565b9150509250925092565b60006200039282620003c1565b9050919050565b6000620003a682620003c1565b9050919050565b6000620003ba8262000385565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006002820490506001821680620003fa57607f821691505b6020821081141562000411576200041062000417565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620004518162000385565b81146200045d57600080fd5b50565b6200046b8162000399565b81146200047757600080fd5b50565b6200048581620003ad565b81146200049157600080fd5b50565b60805160601c615a2c620004cf600039600081816112fa0152818161137b01528181611f0101528181611fac015261387d0152615a2c6000f3fe6080604052600436106102085760003560e01c80637023cee011610118578063a6f9dae1116100a0578063c7e42b1b1161006f578063c7e42b1b14610777578063ce49ff61146107a0578063cec2a0b4146107cb578063f23a6e6114610808578063f2fde38b146108455761020f565b8063a6f9dae1146106bd578063ad5c4648146106e6578063b39d900914610711578063bc197c811461073a5761020f565b80638042c3f2116100e75780638042c3f2146105b25780638583e823146105ef5780638da5cb5b1461062c5780639c13180614610657578063a571d18c146106945761020f565b80637023cee014610520578063715018a614610549578063753969da14610560578063795d121c146105895761020f565b80631a1d69ec1161019b5780634b25bfce1161016a5780634b25bfce1461042357806353ffa299146104665780635729bd4c1461047d57806364e4ffb4146104a657806364ee0776146104e35761020f565b80631a1d69ec1461037b5780631f4552cb146103a45780631faee868146103bb5780632f380b35146103e65761020f565b806308405e74116101d757806308405e74146102c35780630ac2d472146102ec5780630f4d035714610315578063150b7a021461033e5761020f565b806301ffc9a71461021457806306fdde0314610251578063081e3eda1461027c578063083d7de2146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061023b6004803603810190610236919061462a565b61086e565b6040516102489190614f76565b60405180910390f35b34801561025d57600080fd5b506102666108bf565b6040516102739190614fc7565b60405180910390f35b34801561028857600080fd5b5061029161094d565b60405161029e91906151ad565b60405180910390f35b6102c160048036038101906102bc919061470a565b61095a565b005b3480156102cf57600080fd5b506102ea60048036038101906102e5919061455e565b61145d565b005b3480156102f857600080fd5b50610313600480360381019061030e91906148a9565b61166d565b005b34801561032157600080fd5b5061033c6004803603810190610337919061467c565b61191d565b005b34801561034a57600080fd5b5061036560048036038101906103609190614418565b611acd565b6040516103729190614f91565b60405180910390f35b34801561038757600080fd5b506103a2600480360381019061039d91906145ad565b611ae1565b005b3480156103b057600080fd5b506103b9611e81565b005b3480156103c757600080fd5b506103d06120a1565b6040516103dd91906151ad565b60405180910390f35b3480156103f257600080fd5b5061040d6004803603810190610408919061467c565b6120ae565b60405161041a9190615169565b60405180910390f35b34801561042f57600080fd5b5061044a600480360381019061044591906146ce565b612212565b60405161045d97969594939291906151c8565b60405180910390f35b34801561047257600080fd5b5061047b61227b565b005b34801561048957600080fd5b506104a4600480360381019061049f919061467c565b6123ab565b005b3480156104b257600080fd5b506104cd60048036038101906104c8919061467c565b6125ac565b6040516104da919061518b565b60405180910390f35b3480156104ef57600080fd5b5061050a6004803603810190610505919061467c565b6126f1565b60405161051791906151ad565b60405180910390f35b34801561052c57600080fd5b50610547600480360381019061054291906147a9565b6127bb565b005b34801561055557600080fd5b5061055e6129b5565b005b34801561056c57600080fd5b5061058760048036038101906105829190614746565b612a3d565b005b34801561059557600080fd5b506105b060048036038101906105ab919061467c565b612c91565b005b3480156105be57600080fd5b506105d960048036038101906105d49190614522565b6132c9565b6040516105e69190614f54565b60405180910390f35b3480156105fb57600080fd5b506106166004803603810190610611919061467c565b613375565b60405161062391906151ad565b60405180910390f35b34801561063857600080fd5b506106416133e2565b60405161064e9190614eb8565b60405180910390f35b34801561066357600080fd5b5061067e60048036038101906106799190614522565b61340b565b60405161068b9190614f76565b60405180910390f35b3480156106a057600080fd5b506106bb60048036038101906106b69190614820565b61356e565b005b3480156106c957600080fd5b506106e460048036038101906106df9190614330565b6137bb565b005b3480156106f257600080fd5b506106fb61387b565b6040516107089190614eb8565b60405180910390f35b34801561071d57600080fd5b5061073860048036038101906107339190614522565b61389f565b005b34801561074657600080fd5b50610761600480360381019061075c9190614359565b613b5f565b60405161076e9190614f91565b60405180910390f35b34801561078357600080fd5b5061079e60048036038101906107999190614653565b613b74565b005b3480156107ac57600080fd5b506107b5613caf565b6040516107c29190614fac565b60405180910390f35b3480156107d757600080fd5b506107f260048036038101906107ed91906146ce565b613cd5565b6040516107ff9190614f76565b60405180910390f35b34801561081457600080fd5b5061082f600480360381019061082a9190614493565b613d04565b60405161083c9190614f91565b60405180910390f35b34801561085157600080fd5b5061086c60048036038101906108679190614307565b613d19565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600280546108cc906155de565b80601f01602080910402602001604051908101604052809291908181526020018280546108f8906155de565b80156109455780601f1061091a57610100808354040283529160200191610945565b820191906000526020600020905b81548152906001019060200180831161092857829003601f168201915b505050505081565b6000600980549050905090565b600260015414156109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790615109565b60405180910390fd5b600260018190555060006109be600184613e1190919063ffffffff16565b90506000600a82815481106109fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600702016001015490506000610a26600183613e1190919063ffffffff16565b905060098181548110610a62577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160090160009054906101000a900460ff16610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab790615149565b60405180910390fd5b60098181548110610afa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600101544210158015610b66575060098181548110610b50577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600201544211155b610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c90615129565b60405180910390fd5b600260098281548110610be1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600301541415610c4357610c03338361340b565b610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c39906150c9565b60405180910390fd5b5b60003490506000610cc2670de0b6b3a7640000610cb4600a8881548110610c93577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600702016005015485613e2790919063ffffffff16565b613e3d90919063ffffffff16565b905085811015610d07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfe90615089565b60405180910390fd5b600086821115610daa57610d9c670de0b6b3a7640000610d8e610d7f600a8a81548110610d5d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600501546001613e3d90919063ffffffff16565b8a613e2790919063ffffffff16565b613e2790919063ffffffff16565b83610da79190615476565b90505b6000610db5896126f1565b9050600a8781548110610df1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600301548111610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b906150a9565b60405180910390fd5b87811015610e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7e906150a9565b60405180910390fd5b610eed84600660008c815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613e5390919063ffffffff16565b600660008b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050181905550610faa88600660008c815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154613e5390919063ffffffff16565b600660008b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006018190555042600660008b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550600760008a815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661124b57600a87815481106110f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600601339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008b815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008781526020019081526020016000206007018990806001815401808255809150506001900390600052602060002001600090919091909150555b6112a988600a8981548110611289577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906007020160020154613e5390919063ffffffff16565b600a88815481106112e3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600201819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b81526004016113d291906151ad565b600060405180830381600087803b1580156113ec57600080fd5b505af1158015611400573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561144a573d6000803e3d6000fd5b5050505050505050600180819055505050565b611465613e69565b73ffffffffffffffffffffffffffffffffffffffff166114836133e2565b73ffffffffffffffffffffffffffffffffffffffff16146114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090615069565b60405180910390fd5b60006114ef600184613e1190919063ffffffff16565b905060006009828154811061152d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600a0180548060200260200160405190810160405280929190818152602001828054801561158857602002820191906000526020600020905b815481526020019060010190808311611574575b5050505050905060008151905060005b818110156116645760008382815181106115db577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050856006600083815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050808061165c90615641565b915050611598565b50505050505050565b611675613e69565b73ffffffffffffffffffffffffffffffffffffffff166116936133e2565b73ffffffffffffffffffffffffffffffffffffffff16146116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090615069565b60405180910390fd5b60006116ff600189613e1190919063ffffffff16565b9050816009828154811061173c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b02016008018190555060008711156117ab578660098281548110611795577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600101819055505b60008611156118055785600982815481106117ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600201819055505b600085111561185f578460098281548110611849577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600301819055505b60008411156118b95783600982815481106118a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600401819055505b60008311156119135782600982815481106118fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600501819055505b5050505050505050565b611925613e69565b73ffffffffffffffffffffffffffffffffffffffff166119436133e2565b73ffffffffffffffffffffffffffffffffffffffff1614611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199090615069565b60405180910390fd5b60006119af600183613e1190919063ffffffff16565b90506000600982815481106119ed577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160090160006101000a81548160ff021916908315150217905550600160098281548110611a51577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160090160016101000a81548160ff0219169083151502179055504260098281548110611ab4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600701819055505050565b600063150b7a0260e01b9050949350505050565b611ae9613e69565b73ffffffffffffffffffffffffffffffffffffffff16611b076133e2565b73ffffffffffffffffffffffffffffffffffffffff1614611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5490615069565b60405180910390fd5b6000611b73600183613e1190919063ffffffff16565b9050600060098281548110611bb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600a01805480602002602001604051908101604052809291908181526020018280548015611c0c57602002820191906000526020600020905b815481526020019060010190808311611bf8575b5050505050905060008151905060005b8551811015611e795760005b82811015611e65576000848281518110611c6b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050866006600083815260200190815260200160002060008a8681518110611cc4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060016006600083815260200190815260200160002060008a8681518110611d5d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908315150217905550426006600083815260200190815260200160002060008a8681518110611e08577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550508080611e5d90615641565b915050611c28565b508080611e7190615641565b915050611c1c565b505050505050565b611e89613e69565b73ffffffffffffffffffffffffffffffffffffffff16611ea76133e2565b73ffffffffffffffffffffffffffffffffffffffff1614611efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef490615069565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611f589190614eb8565b60206040518083038186803b158015611f7057600080fd5b505afa158015611f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa891906146a5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040161200391906151ad565b600060405180830381600087803b15801561201d57600080fd5b505af1158015612031573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561209d573d6000803e3d6000fd5b5050565b6000600a80549050905090565b6120b6613f35565b60006120cc600184613e1190919063ffffffff16565b905060098181548110612108577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201604051806101800160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201548152602001600882015481526020016009820160009054906101000a900460ff161515151581526020016009820160019054906101000a900460ff16151515158152602001600a820180548060200260200160405190810160405280929190818152602001828054801561220157602002820191906000526020600020905b8154815260200190600101908083116121ed575b505050505081525050915050919050565b6006602052816000526040600020602052806000526040600020600091509150508060000154908060010160009054906101000a900460ff16908060020154908060030154908060040160009054906101000a900460ff16908060050154908060060154905087565b612283613e69565b73ffffffffffffffffffffffffffffffffffffffff166122a16133e2565b73ffffffffffffffffffffffffffffffffffffffff16146122f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ee90615069565b60405180910390fd5b60004790506000811161233f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233690614fe9565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123a7573d6000803e3d6000fd5b5050565b6123b3613e69565b73ffffffffffffffffffffffffffffffffffffffff166123d16133e2565b73ffffffffffffffffffffffffffffffffffffffff1614612427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241e90615069565b60405180910390fd5b600061243d600183613e1190919063ffffffff16565b905060016009828154811061247b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160090160006101000a81548160ff0219169083151502179055506000600982815481106124df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160090160016101000a81548160ff0219169083151502179055504260098281548110612542577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160060181905550600060098281548110612593577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600701819055505050565b6125b4613f9a565b60006125ca600184613e1190919063ffffffff16565b9050600a8181548110612606577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600702016040518060e0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682018054806020026020016040519081016040528092919081815260200182805480156126e057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612696575b505050505081525050915050919050565b600080612708600184613e1190919063ffffffff16565b90506127b3600a8281548110612747577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906007020160020154600a8381548110612793577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906007020160040154613e1190919063ffffffff16565b915050919050565b6127c3613e69565b73ffffffffffffffffffffffffffffffffffffffff166127e16133e2565b73ffffffffffffffffffffffffffffffffffffffff1614612837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282e90615069565b60405180910390fd5b600061284d600187613e1190919063ffffffff16565b905084600a828154811061288a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600702016001018190555060008411156128f95783600a82815481106128e3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600301819055505b60008311156129535782600a828154811061293d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600401819055505b60008211156129ad5781600a8281548110612997577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060070201600501819055505b505050505050565b6129bd613e69565b73ffffffffffffffffffffffffffffffffffffffff166129db6133e2565b73ffffffffffffffffffffffffffffffffffffffff1614612a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2890615069565b60405180910390fd5b612a3b6000613e71565b565b612a45613e69565b73ffffffffffffffffffffffffffffffffffffffff16612a636133e2565b73ffffffffffffffffffffffffffffffffffffffff1614612ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab090615069565b60405180910390fd5b6000612ad46001600a80549050613e5390919063ffffffff16565b9050600a6040518060e0016040528083815260200187815260200160008152602001868152602001858152602001848152602001600067ffffffffffffffff811115612b49577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612b775781602001602082028036833780820191505090505b508152509080600181540180825580915050600190039060005260206000209060070201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006019080519060200190612bfc929190613fd7565b5050506000612c15600187613e1190919063ffffffff16565b905060098181548110612c51577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600a01829080600181540180825580915050600190039060005260206000200160009091909190915055505050505050565b60026001541415612cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cce90615109565b60405180910390fd5b60026001819055506000612cf5600183613e1190919063ffffffff16565b9050600160098281548110612d33577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b02016008015414612d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7c906150e9565b60405180910390fd5b600260098281548110612dc1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600301541415612e2357612de3338361340b565b612e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e19906150c9565b60405180910390fd5b5b612ecc60098281548110612e60577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b02016005015460098381548110612eac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b020160020154613e5390919063ffffffff16565b4211612f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0490615049565b60405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600701805480602002602001604051908101604052809291908181526020018280548015612fac57602002820191906000526020600020905b815481526020019060010190808311612f98575b505050505090506000815190506006600083600081518110612ff7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160009054906101000a900460ff161561309b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309290615009565b60405180910390fd5b60005b818110156132bb5760008382815181106130e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506007600082815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132a75760006006600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601549050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a303385856040518563ffffffff1660e01b81526004016132079493929190614efc565b600060405180830381600087803b15801561322157600080fd5b505af1158015613235573d6000803e3d6000fd5b5050505060016006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006101000a81548160ff021916908315150217905550505b5080806132b390615641565b91505061309e565b505050506001808190555050565b6060600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060070180548060200260200160405190810160405280929190818152602001828054801561336857602002820191906000526020600020905b815481526020019060010190808311613354575b5050505050905092915050565b60008061338c600184613e1190919063ffffffff16565b9050600a81815481106133c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906007020160040154915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080613422600184613e1190919063ffffffff16565b9050600060098281548110613460577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600a018054806020026020016040519081016040528092919081815260200182805480156134bb57602002820191906000526020600020905b8154815260200190600101908083116134a7575b505050505090506006600082600081518110613500577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169250505092915050565b613576613e69565b73ffffffffffffffffffffffffffffffffffffffff166135946133e2565b73ffffffffffffffffffffffffffffffffffffffff16146135ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135e190615069565b60405180910390fd5b60096040518061018001604052806136116001600980549050613e5390919063ffffffff16565b81526020018881526020018781526020018681526020018581526020018481526020016000815260200160008152602001838152602001600115158152602001600015158152602001600067ffffffffffffffff81111561369b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156136c95781602001602082028036833780820191505090505b5081525090806001815401808255809150506001900390600052602060002090600b0201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090160006101000a81548160ff0219169083151502179055506101408201518160090160016101000a81548160ff02191690831515021790555061016082015181600a0190805190602001906137b0929190614061565b505050505050505050565b6137c3613e69565b73ffffffffffffffffffffffffffffffffffffffff166137e16133e2565b73ffffffffffffffffffffffffffffffffffffffff1614613837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161382e90615069565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6138a7613e69565b73ffffffffffffffffffffffffffffffffffffffff166138c56133e2565b73ffffffffffffffffffffffffffffffffffffffff161461391b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161391290615069565b60405180910390fd5b6000613931600183613e1190919063ffffffff16565b905060006009828154811061396f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600b0201600a018054806020026020016040519081016040528092919081815260200182805480156139ca57602002820191906000526020600020905b8154815260200190600101908083116139b6575b5050505050905060008151905060005b81811015613b57576000838281518110613a1d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050856006600083815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060016006600083815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908315150217905550426006600083815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550508080613b4f90615641565b9150506139da565b505050505050565b600063bc197c8160e01b905095945050505050565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401613bec9190614eb8565b60206040518083038186803b158015613c0457600080fd5b505afa158015613c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c3c91906146a5565b6040518363ffffffff1660e01b8152600401613c59929190614ed3565b602060405180830381600087803b158015613c7357600080fd5b505af1158015613c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cab9190614601565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600063f23a6e6160e01b905095945050505050565b613d21613e69565b73ffffffffffffffffffffffffffffffffffffffff16613d3f6133e2565b73ffffffffffffffffffffffffffffffffffffffff1614613d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d8c90615069565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dfc90615029565b60405180910390fd5b613e0e81613e71565b50565b60008183613e1f9190615476565b905092915050565b60008183613e35919061541c565b905092915050565b60008183613e4b91906153eb565b905092915050565b60008183613e619190615395565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b604051806101800160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001606081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081525090565b828054828255906000526020600020908101928215614050579160200282015b8281111561404f5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613ff7565b5b50905061405d91906140ae565b5090565b82805482825590600052602060002090810192821561409d579160200282015b8281111561409c578251825591602001919060010190614081565b5b5090506140aa91906140ae565b5090565b5b808211156140c75760008160009055506001016140af565b5090565b60006140de6140d98461525c565b615237565b905080838252602082019050828560208602820111156140fd57600080fd5b60005b8581101561412d578161411388826141e1565b845260208401935060208301925050600181019050614100565b5050509392505050565b600061414a61414584615288565b615237565b9050808382526020820190508285602086028201111561416957600080fd5b60005b85811015614199578161417f88826142dd565b84526020840193506020830192505060018101905061416c565b5050509392505050565b60006141b66141b1846152b4565b615237565b9050828152602081018484840111156141ce57600080fd5b6141d984828561559c565b509392505050565b6000813590506141f08161596c565b92915050565b60008135905061420581615983565b92915050565b600082601f83011261421c57600080fd5b813561422c8482602086016140cb565b91505092915050565b600082601f83011261424657600080fd5b8135614256848260208601614137565b91505092915050565b60008135905061426e8161599a565b92915050565b6000815190506142838161599a565b92915050565b600081359050614298816159b1565b92915050565b600082601f8301126142af57600080fd5b81356142bf8482602086016141a3565b91505092915050565b6000813590506142d7816159c8565b92915050565b6000813590506142ec816159df565b92915050565b600081519050614301816159df565b92915050565b60006020828403121561431957600080fd5b6000614327848285016141e1565b91505092915050565b60006020828403121561434257600080fd5b6000614350848285016141f6565b91505092915050565b600080600080600060a0868803121561437157600080fd5b600061437f888289016141e1565b9550506020614390888289016141e1565b945050604086013567ffffffffffffffff8111156143ad57600080fd5b6143b988828901614235565b935050606086013567ffffffffffffffff8111156143d657600080fd5b6143e288828901614235565b925050608086013567ffffffffffffffff8111156143ff57600080fd5b61440b8882890161429e565b9150509295509295909350565b6000806000806080858703121561442e57600080fd5b600061443c878288016141e1565b945050602061444d878288016141e1565b935050604061445e878288016142dd565b925050606085013567ffffffffffffffff81111561447b57600080fd5b6144878782880161429e565b91505092959194509250565b600080600080600060a086880312156144ab57600080fd5b60006144b9888289016141e1565b95505060206144ca888289016141e1565b94505060406144db888289016142dd565b93505060606144ec888289016142dd565b925050608086013567ffffffffffffffff81111561450957600080fd5b6145158882890161429e565b9150509295509295909350565b6000806040838503121561453557600080fd5b6000614543858286016141e1565b9250506020614554858286016142dd565b9150509250929050565b60008060006060848603121561457357600080fd5b6000614581868287016141e1565b9350506020614592868287016142dd565b92505060406145a38682870161425f565b9150509250925092565b600080604083850312156145c057600080fd5b600083013567ffffffffffffffff8111156145da57600080fd5b6145e68582860161420b565b92505060206145f7858286016142dd565b9150509250929050565b60006020828403121561461357600080fd5b600061462184828501614274565b91505092915050565b60006020828403121561463c57600080fd5b600061464a84828501614289565b91505092915050565b60006020828403121561466557600080fd5b6000614673848285016142c8565b91505092915050565b60006020828403121561468e57600080fd5b600061469c848285016142dd565b91505092915050565b6000602082840312156146b757600080fd5b60006146c5848285016142f2565b91505092915050565b600080604083850312156146e157600080fd5b60006146ef858286016142dd565b9250506020614700858286016141e1565b9150509250929050565b6000806040838503121561471d57600080fd5b600061472b858286016142dd565b925050602061473c858286016142dd565b9150509250929050565b6000806000806080858703121561475c57600080fd5b600061476a878288016142dd565b945050602061477b878288016142dd565b935050604061478c878288016142dd565b925050606061479d878288016142dd565b91505092959194509250565b600080600080600060a086880312156147c157600080fd5b60006147cf888289016142dd565b95505060206147e0888289016142dd565b94505060406147f1888289016142dd565b9350506060614802888289016142dd565b9250506080614813888289016142dd565b9150509295509295909350565b60008060008060008060c0878903121561483957600080fd5b600061484789828a016142dd565b965050602061485889828a016142dd565b955050604061486989828a016142dd565b945050606061487a89828a016142dd565b935050608061488b89828a016142dd565b92505060a061489c89828a016142dd565b9150509295509295509295565b600080600080600080600060e0888a0312156148c457600080fd5b60006148d28a828b016142dd565b97505060206148e38a828b016142dd565b96505060406148f48a828b016142dd565b95505060606149058a828b016142dd565b94505060806149168a828b016142dd565b93505060a06149278a828b016142dd565b92505060c06149388a828b016142dd565b91505092959891949750929550565b60006149538383614986565b60208301905092915050565b600061496b8383614e9a565b60208301905092915050565b61498081615542565b82525050565b61498f816154aa565b82525050565b61499e816154aa565b82525050565b60006149af82615305565b6149b98185615340565b93506149c4836152e5565b8060005b838110156149f55781516149dc8882614947565b97506149e783615326565b9250506001810190506149c8565b5085935050505092915050565b6000614a0d82615310565b614a178185615351565b9350614a22836152f5565b8060005b83811015614a53578151614a3a888261495f565b9750614a4583615333565b925050600181019050614a26565b5085935050505092915050565b6000614a6b82615310565b614a758185615362565b9350614a80836152f5565b8060005b83811015614ab1578151614a98888261495f565b9750614aa383615333565b925050600181019050614a84565b5085935050505092915050565b614ac7816154ce565b82525050565b614ad6816154ce565b82525050565b614ae5816154da565b82525050565b614af481615554565b82525050565b6000614b058261531b565b614b0f8185615384565b9350614b1f8185602086016155ab565b614b2881615746565b840191505092915050565b6000614b40600f83615384565b9150614b4b82615757565b602082019050919050565b6000614b63601483615384565b9150614b6e82615780565b602082019050919050565b6000614b86602683615384565b9150614b91826157a9565b604082019050919050565b6000614ba9601d83615384565b9150614bb4826157f8565b602082019050919050565b6000614bcc602083615384565b9150614bd782615821565b602082019050919050565b6000614bef600083615373565b9150614bfa8261584a565b600082019050919050565b6000614c12601283615384565b9150614c1d8261584d565b602082019050919050565b6000614c35600c83615384565b9150614c4082615876565b602082019050919050565b6000614c58600c83615384565b9150614c638261589f565b602082019050919050565b6000614c7b600d83615384565b9150614c86826158c8565b602082019050919050565b6000614c9e601f83615384565b9150614ca9826158f1565b602082019050919050565b6000614cc1600c83615384565b9150614ccc8261591a565b602082019050919050565b6000614ce4600c83615384565b9150614cef82615943565b602082019050919050565b600061018083016000830151614d136000860182614e9a565b506020830151614d266020860182614e9a565b506040830151614d396040860182614e9a565b506060830151614d4c6060860182614e9a565b506080830151614d5f6080860182614e9a565b5060a0830151614d7260a0860182614e9a565b5060c0830151614d8560c0860182614e9a565b5060e0830151614d9860e0860182614e9a565b50610100830151614dad610100860182614e9a565b50610120830151614dc2610120860182614abe565b50610140830151614dd7610140860182614abe565b50610160830151848203610160860152614df18282614a02565b9150508091505092915050565b600060e083016000830151614e166000860182614e9a565b506020830151614e296020860182614e9a565b506040830151614e3c6040860182614e9a565b506060830151614e4f6060860182614e9a565b506080830151614e626080860182614e9a565b5060a0830151614e7560a0860182614e9a565b5060c083015184820360c0860152614e8d82826149a4565b9150508091505092915050565b614ea381615538565b82525050565b614eb281615538565b82525050565b6000602082019050614ecd6000830184614995565b92915050565b6000604082019050614ee86000830185614977565b614ef56020830184614ea9565b9392505050565b600060a082019050614f116000830187614995565b614f1e6020830186614995565b614f2b6040830185614ea9565b614f386060830184614ea9565b8181036080830152614f4981614be2565b905095945050505050565b60006020820190508181036000830152614f6e8184614a60565b905092915050565b6000602082019050614f8b6000830184614acd565b92915050565b6000602082019050614fa66000830184614adc565b92915050565b6000602082019050614fc16000830184614aeb565b92915050565b60006020820190508181036000830152614fe18184614afa565b905092915050565b6000602082019050818103600083015261500281614b33565b9050919050565b6000602082019050818103600083015261502281614b56565b9050919050565b6000602082019050818103600083015261504281614b79565b9050919050565b6000602082019050818103600083015261506281614b9c565b9050919050565b6000602082019050818103600083015261508281614bbf565b9050919050565b600060208201905081810360008301526150a281614c05565b9050919050565b600060208201905081810360008301526150c281614c28565b9050919050565b600060208201905081810360008301526150e281614c4b565b9050919050565b6000602082019050818103600083015261510281614c6e565b9050919050565b6000602082019050818103600083015261512281614c91565b9050919050565b6000602082019050818103600083015261514281614cb4565b9050919050565b6000602082019050818103600083015261516281614cd7565b9050919050565b600060208201905081810360008301526151838184614cfa565b905092915050565b600060208201905081810360008301526151a58184614dfe565b905092915050565b60006020820190506151c26000830184614ea9565b92915050565b600060e0820190506151dd600083018a614ea9565b6151ea6020830189614acd565b6151f76040830188614ea9565b6152046060830187614ea9565b6152116080830186614acd565b61521e60a0830185614ea9565b61522b60c0830184614ea9565b98975050505050505050565b6000615241615252565b905061524d8282615610565b919050565b6000604051905090565b600067ffffffffffffffff82111561527757615276615717565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156152a3576152a2615717565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156152cf576152ce615717565b5b6152d882615746565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006153a082615538565b91506153ab83615538565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156153e0576153df61568a565b5b828201905092915050565b60006153f682615538565b915061540183615538565b925082615411576154106156b9565b5b828204905092915050565b600061542782615538565b915061543283615538565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561546b5761546a61568a565b5b828202905092915050565b600061548182615538565b915061548c83615538565b92508282101561549f5761549e61568a565b5b828203905092915050565b60006154b582615518565b9050919050565b60006154c782615518565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000615511826154aa565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061554d82615578565b9050919050565b600061555f82615566565b9050919050565b600061557182615518565b9050919050565b60006155838261558a565b9050919050565b600061559582615518565b9050919050565b82818337600083830152505050565b60005b838110156155c95780820151818401526020810190506155ae565b838111156155d8576000848401525b50505050565b600060028204905060018216806155f657607f821691505b6020821081141561560a576156096156e8565b5b50919050565b61561982615746565b810181811067ffffffffffffffff8211171561563857615637615717565b5b80604052505050565b600061564c82615538565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561567f5761567e61568a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f6e6f7420656e6f7567682066756e640000000000000000000000000000000000600082015250565b7f7573657220616c726561647920636c61696d6564000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f6e6f74206f6e2074696d6520666f7220636c61696d696e67204e465473000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b7f494e4f20736f6c64206f75740000000000000000000000000000000000000000600082015250565b7f696e76616c696420757365720000000000000000000000000000000000000000600082015250565b7f696e76616c696420636c61696d00000000000000000000000000000000000000600082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f696e76616c69642074696d650000000000000000000000000000000000000000600082015250565b7f696e76616c696420706f6f6c0000000000000000000000000000000000000000600082015250565b615975816154aa565b811461598057600080fd5b50565b61598c816154bc565b811461599757600080fd5b50565b6159a3816154ce565b81146159ae57600080fd5b50565b6159ba816154da565b81146159c557600080fd5b50565b6159d181615506565b81146159dc57600080fd5b50565b6159e881615538565b81146159f357600080fd5b5056fea26469706673582212209b44fd0914af24db0c20ed8dbd971713bb992da3beee76080cc59f5cfdd1997364736f6c63430008020033000000000000000000000000071bca02b8e5374bed8a2fd75b27ad77751b7f3900000000000000000000000057866ed63ca5f9744cef9aa270bd1f1dce935831000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c