67 txs
67 calls
constructor
constructor(address[] votingAccounts)
functions
getMinApprovals
viewfunction getMinApprovals() view returns (uint256 approvals)
isVotingAccount
viewfunction isVotingAccount(address) view returns (bool)
MIN_VOTING_ACCOUNTS
viewfunction MIN_VOTING_ACCOUNTS() view returns (uint256)
REQUEST_APPROVAL_DEADLINE_SECONDS
viewfunction REQUEST_APPROVAL_DEADLINE_SECONDS() view returns (uint256)
votingAccountsNumber
viewfunction votingAccountsNumber() view returns (uint256)
approveBlackFundsDestruction
nonpayablefunction approveBlackFundsDestruction(bytes32 reqId)
approveBlacklist
nonpayablefunction approveBlacklist(bytes32 reqId)
approveDeprecation
nonpayablefunction approveDeprecation(bytes32 reqId)
approveIssue
nonpayablefunction approveIssue(bytes32 reqId)
approveOwnerChange
nonpayablefunction approveOwnerChange(bytes32 reqId)
approveRedeem
nonpayablefunction approveRedeem(bytes32 reqId)
approveTokenPause
nonpayablefunction approveTokenPause(bytes32 reqId)
approveTokenUnpause
nonpayablefunction approveTokenUnpause(bytes32 reqId)
approveUnblacklist
nonpayablefunction approveUnblacklist(bytes32 reqId)
approveVotersListChange
nonpayablefunction approveVotersListChange(bytes32 reqId)
requestBlackFundsDestruction
nonpayablefunction requestBlackFundsDestruction(address token, address account) returns (bytes32 reqId)
requestBlacklist
nonpayablefunction requestBlacklist(address token, address account) returns (bytes32 reqId)
requestDeprecation
nonpayablefunction requestDeprecation(address token, address upgraded) returns (bytes32 reqId)
requestIssue
nonpayablefunction requestIssue(address token, uint256 amount, address to) returns (bytes32 reqId)
requestOwnerChange
nonpayablefunction requestOwnerChange(address token, address newOwner) returns (bytes32 reqId)
requestRedeem
nonpayablefunction requestRedeem(address token, uint256 amount) returns (bytes32 reqId)
requestTokenPause
nonpayablefunction requestTokenPause(address token) returns (bytes32 reqId)
requestTokenUnpause
nonpayablefunction requestTokenUnpause(address token) returns (bytes32 reqId)
requestUnblacklist
nonpayablefunction requestUnblacklist(address token, address account) returns (bytes32 reqId)
requestVotersListChange
nonpayablefunction requestVotersListChange(address[] addVoters, address[] removeVoters) returns (bytes32 reqId)
events
BlackFundsDestructionRequested
event BlackFundsDestructionRequested(bytes32 reqId, address by, address token, address account)
BlacklistRequested
event BlacklistRequested(bytes32 reqId, address by, address token, address account)
DeprecationRequested
event DeprecationRequested(bytes32 reqId, address by, address token, address upgraded)
IssueRequested
event IssueRequested(bytes32 reqId, address by, address token, uint256 amount, address to)
OwnerChangeRequested
event OwnerChangeRequested(bytes32 reqId, address by, address token, address newOwner)
PauseRequested
event PauseRequested(bytes32 reqId, address by, address token)
RedeemRequested
event RedeemRequested(bytes32 reqId, address by, address token, uint256 amount)
RequestCompleted
event RequestCompleted(bytes32 indexed reqId)
UnblacklistRequested
event UnblacklistRequested(bytes32 reqId, address by, address token, address account)
UnpauseRequested
event UnpauseRequested(bytes32 reqId, address by, address token)
VoterAdded
event VoterAdded(address)
VoterRemoved
event VoterRemoved(address)
VotersListChangeRequested
event VotersListChangeRequested(bytes32 reqId, address by, address[] add, address[] remove)
errors
No errors.
creation bytecode
0x6080604052600060045534801561001557600080fd5b506040516143f83803806143f883398181016040528101906100379190610433565b60005b81518110156100775761006c8282815181106100595761005861047c565b5b60200260200101516100cc60201b60201c565b80600101905061003a565b50600360015410156100be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100b590610508565b60405180910390fd5b600160028190555050610680565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361013b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101329061059a565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610265577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600154106101bd576101bc6105ba565b5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060008282546102269190610622565b925050819055507fa636f4a11e2d3ba7f89d042ecb0a6b886716e98cd49d8fd876ee0f73bced42b88160405161025c9190610665565b60405180910390a15b50565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102ca82610281565b810181811067ffffffffffffffff821117156102e9576102e8610292565b5b80604052505050565b60006102fc610268565b905061030882826102c1565b919050565b600067ffffffffffffffff82111561032857610327610292565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103698261033e565b9050919050565b6103798161035e565b811461038457600080fd5b50565b60008151905061039681610370565b92915050565b60006103af6103aa8461030d565b6102f2565b905080838252602082019050602084028301858111156103d2576103d1610339565b5b835b818110156103fb57806103e78882610387565b8452602084019350506020810190506103d4565b5050509392505050565b600082601f83011261041a5761041961027c565b5b815161042a84826020860161039c565b91505092915050565b60006020828403121561044957610448610272565b5b600082015167ffffffffffffffff81111561046757610466610277565b5b61047384828501610405565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f6e6f7420656e6f75676820766f74696e67206163636f756e7473000000000000600082015250565b60006104f2601a836104ab565b91506104fd826104bc565b602082019050919050565b60006020820190508181036000830152610521816104e5565b9050919050565b7f63616e6e6f7420616464207a65726f206164647265737320746f20766f74696e60008201527f67206163636f756e7473206c6973740000000000000000000000000000000000602082015250565b6000610584602f836104ab565b915061058f82610528565b604082019050919050565b600060208201905081810360008301526105b381610577565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061062d826105e9565b9150610638836105e9565b92508282019050808211156106505761064f6105f3565b5b92915050565b61065f8161035e565b82525050565b600060208201905061067a6000830184610656565b92915050565b613d698061068f6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80635caad4d1116100de578063ad28e8dd11610097578063e4dcc59311610071578063e4dcc59314610480578063ead691121461049c578063f75eafe1146104cc578063faa179e7146104e857610173565b8063ad28e8dd14610416578063c8e52fe214610434578063d5e063e41461045057610173565b80635caad4d11461031e57806365b89f9f1461033a57806375e71b741461036a57806377d69a171461039a57806378e93a8f146103ca5780639587eab5146103fa57610173565b80633c9321d8116101305780633c9321d81461023857806349f6a718146102685780634ba3f988146102985780634d3e2490146102c857806350539aa8146102e6578063538dafa31461030257610173565b80630252ec29146101785780630e7af6611461019457806314106703146101b05780631453921a146101e057806316a3f412146101fe57806330e148471461021a575b600080fd5b610192600480360381019061018d9190612b07565b610518565b005b6101ae60048036038101906101a99190612b07565b6106be565b005b6101ca60048036038101906101c59190612ba4565b61084c565b6040516101d79190612be0565b60405180910390f35b6101e861095b565b6040516101f59190612c14565b60405180910390f35b61021860048036038101906102139190612b07565b610961565b005b610222610aef565b60405161022f9190612c14565b60405180910390f35b610252600480360381019061024d9190612c5b565b610af4565b60405161025f9190612be0565b60405180910390f35b610282600480360381019061027d9190612d00565b610c5e565b60405161028f9190612be0565b60405180910390f35b6102b260048036038101906102ad9190612dad565b610d52565b6040516102bf9190612be0565b60405180910390f35b6102d0610f1d565b6040516102dd9190612c14565b60405180910390f35b61030060048036038101906102fb9190612b07565b610f36565b005b61031c60048036038101906103179190612b07565b6110a4565b005b61033860048036038101906103339190612b07565b61121e565b005b610354600480360381019061034f9190612e00565b6113ac565b6040516103619190612be0565b60405180910390f35b610384600480360381019061037f9190612c5b565b61151f565b6040516103919190612be0565b60405180910390f35b6103b460048036038101906103af9190612c5b565b6116f8565b6040516103c19190612be0565b60405180910390f35b6103e460048036038101906103df9190612e40565b611862565b6040516103f19190612e88565b60405180910390f35b610414600480360381019061040f9190612b07565b611882565b005b61041e611a10565b60405161042b9190612c14565b60405180910390f35b61044e60048036038101906104499190612b07565b611a17565b005b61046a60048036038101906104659190612c5b565b611b5e565b6040516104779190612be0565b60405180910390f35b61049a60048036038101906104959190612b07565b611cc8565b005b6104b660048036038101906104b19190612c5b565b611e0f565b6040516104c39190612be0565b60405180910390f35b6104e660048036038101906104e19190612b07565b611f79565b005b61050260048036038101906104fd9190612ba4565b612107565b60405161050f9190612be0565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b490612f00565b60405180910390fd5b6105c681612216565b156106bb57600d600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b696a6ad600d600084815260200190815260200160002060020154600d600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610688929190612f2f565b600060405180830381600087803b1580156106a257600080fd5b505af11580156106b6573d6000803e3d6000fd5b505050505b50565b600073ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a90612fa4565b60405180910390fd5b61076c81612216565b15610849576005600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b6005600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108169190612fc4565b600060405180830381600087803b15801561083057600080fd5b505af1158015610844573d6000803e3d6000fd5b505050505b50565b600081600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b59061302b565b60405180910390fd5b6108c661254e565b9150826007600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3b82dbef2f3ed22abde3e986b105d003e3018422e845e144f870ec1e2ab168b182338560405161094d9392919061304b565b60405180910390a150919050565b60015481565b600073ffffffffffffffffffffffffffffffffffffffff16600b600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd906130f4565b60405180910390fd5b610a0f81612216565b15610aec57600b600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3bdc228600b600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610ab99190612fc4565b600060405180830381600087803b158015610ad357600080fd5b505af1158015610ae7573d6000803e3d6000fd5b505050505b50565b600381565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5d9061302b565b60405180910390fd5b610b6e61254e565b915083600b600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600b600084815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f60aa1c40755ff9e9c57769818cb4e2db7032740713505c57d1f9e606c87f5b1d82338686604051610c4f9493929190613114565b60405180910390a15092915050565b600080858590501180610c745750600083839050115b610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa906131cb565b60405180910390fd5b610cbb61254e565b90508484600660008481526020019081526020016000206000019190610ce2929190612a0a565b508282600660008481526020019081526020016000206001019190610d08929190612a0a565b507f77b5e439ba5737d6518b5fa282a81ec318be946c14026c3f96ed576101482414813387878787604051610d42969594939291906132ae565b60405180910390a1949350505050565b600083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbb9061302b565b60405180910390fd5b60008411610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90613351565b60405180910390fd5b610e0f61254e565b915084600d600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600d600084815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600d6000848152602001908152602001600020600201819055507fbbb3cd25643b48b0f39f5ed23f1b95edc1d3bbafed645cff4c2aa4f8c534592f8233878787604051610f0d959493929190613371565b60405180910390a1509392505050565b6000600180600154901c610f3191906133f3565b905090565b600073ffffffffffffffffffffffffffffffffffffffff16600e600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd290613473565b60405180910390fd5b610fe481612216565b156110a157600e600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663db006a75600e6000848152602001908152602001600020600101546040518263ffffffff1660e01b815260040161106e9190612c14565b600060405180830381600087803b15801561108857600080fd5b505af115801561109c573d6000803e3d6000fd5b505050505b50565b600060066000838152602001908152602001600020600001905060006006600084815260200190815260200160002060010190506000828054905011806110ef575060008180549050115b61112e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112590613505565b60405180910390fd5b61113783612216565b156111ff5760005b828054905081101561119c5761119183828154811061116157611160613525565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612721565b80600101905061113f565b5060005b81805490508110156111fd576111f28282815481106111c2576111c1613525565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166128bd565b8060010190506111a0565b505b60016002600082825461121291906133f3565b92505081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff16600c600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ba906135a0565b60405180910390fd5b6112cc81612216565b156113a957600c600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630753c30c600c600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016113769190612fc4565b600060405180830381600087803b15801561139057600080fd5b505af11580156113a4573d6000803e3d6000fd5b505050505b50565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361141e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114159061302b565b60405180910390fd5b60008311611461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114589061360c565b60405180910390fd5b61146961254e565b915083600e600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600e6000848152602001908152602001600020600101819055507faa7dc873a7d37b94883eae5b185beafe0223de340014bc7a1690496363d5bb2882338686604051611510949392919061362c565b60405180910390a15092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611591576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115889061302b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f7906136bd565b60405180910390fd5b61160861254e565b915083600c600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c600084815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3ae19498c83643a3c3cd3c51fd961cdbc50cad7a99d87ae56f6f56395b84a257823386866040516116e99493929190613114565b60405180910390a15092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361176a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117619061302b565b60405180910390fd5b61177261254e565b915083600a600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a600084815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f32f105be765c08b0dd3a11fb243a1d1c3187adf79ce4e70077b563774f53313b823386866040516118539493929190613114565b60405180910390a15092915050565b60006020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff166009600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191e90613729565b60405180910390fd5b61193081612216565b15611a0d576009600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ecb93c06009600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016119da9190612fc4565b600060405180830381600087803b1580156119f457600080fd5b505af1158015611a08573d6000803e3d6000fd5b505050505b50565b6202a30081565b600073ffffffffffffffffffffffffffffffffffffffff166007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090613795565b60405180910390fd5b611ac281612216565b15611b5b576007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611b4257600080fd5b505af1158015611b56573d6000803e3d6000fd5b505050505b50565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc79061302b565b60405180910390fd5b611bd861254e565b9150836009600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826009600084815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f45468c34c3195dc2fe142866e4d01c6d8f21410db90ebd9132aef6cee5cc81dd82338686604051611cb99493929190613114565b60405180910390a15092915050565b600073ffffffffffffffffffffffffffffffffffffffff166008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6190613801565b60405180910390fd5b611d7381612216565b15611e0c576008600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f4ba83a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b505050505b50565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e789061302b565b60405180910390fd5b611e8961254e565b9150836005600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826005600084815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9ac22cbcacf108dcf9ace6c53af2261f39a349b724ad16201a0f342c93e4046582338686604051611f6a9493929190613114565b60405180910390a15092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361201e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120159061386d565b60405180910390fd5b61202781612216565b1561210457600a600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e4997dc5600a600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120d19190612fc4565b600060405180830381600087803b1580156120eb57600080fd5b505af11580156120ff573d6000803e3d6000fd5b505050505b50565b600081600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612179576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121709061302b565b60405180910390fd5b61218161254e565b9150826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd4758c2ebea7c3004ca2af3322f3878f26109bded4f13b532832b871a1f86618233856040516122089392919061304b565b60405180910390a150919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166122a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229a906138d9565b60405180910390fd5b60006003600084815260200190815260200160002090506000816001015411612301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f890613945565b60405180910390fd5b8060020160009054906101000a900460ff1615612353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234a906139b1565b60405180910390fd5b60025481600301541461239b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239290613a43565b60405180910390fd5b80600401544211156123e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d990613aaf565b60405180910390fd5b8060000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246890613b1b565b60405180910390fd5b60018160000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018160010160008282546124e091906133f3565b925050819055506124ef610f1d565b816001015410612548576001915060018160020160006101000a81548160ff021916908315150217905550827f03442af529c92a1449dcf9997323ccb9f819ab9b1e29ac10b82e45e809ecf11b60405160405180910390a25b50919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d2906138d9565b60405180910390fd5b600460008154809291906125ee90613b3b565b919050556001436125ff9190613b83565b40604051602001612611929190613bb7565b60405160208183030381529060405280519060200120905060006003600083815260200190815260200160002060010154146126505761264f613be0565b5b60016003600083815260200190815260200160002060000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008381526020019081526020016000206001018190555060025460036000838152602001908152602001600020600301819055506202a3004261270491906133f3565b600360008381526020019081526020016000206004018190555090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612790576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278790613c81565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166128ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001541061281257612811613be0565b5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600082825461287b91906133f3565b925050819055507fa636f4a11e2d3ba7f89d042ecb0a6b886716e98cd49d8fd876ee0f73bced42b8816040516128b19190612fc4565b60405180910390a15b50565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a075760036001805461291e9190613b83565b101561295f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295690613d13565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060008282546129c89190613b83565b925050819055507fa14a79af012d1756818f9bd59ccfc9ad185a71df86b9392d9059d9e6faf6d644816040516129fe9190612fc4565b60405180910390a15b50565b828054828255906000526020600020908101928215612a99579160200282015b82811115612a9857823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612a2a565b5b509050612aa69190612aaa565b5090565b5b80821115612ac3576000816000905550600101612aab565b5090565b600080fd5b600080fd5b6000819050919050565b612ae481612ad1565b8114612aef57600080fd5b50565b600081359050612b0181612adb565b92915050565b600060208284031215612b1d57612b1c612ac7565b5b6000612b2b84828501612af2565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b5f82612b34565b9050919050565b6000612b7182612b54565b9050919050565b612b8181612b66565b8114612b8c57600080fd5b50565b600081359050612b9e81612b78565b92915050565b600060208284031215612bba57612bb9612ac7565b5b6000612bc884828501612b8f565b91505092915050565b612bda81612ad1565b82525050565b6000602082019050612bf56000830184612bd1565b92915050565b6000819050919050565b612c0e81612bfb565b82525050565b6000602082019050612c296000830184612c05565b92915050565b612c3881612b54565b8114612c4357600080fd5b50565b600081359050612c5581612c2f565b92915050565b60008060408385031215612c7257612c71612ac7565b5b6000612c8085828601612b8f565b9250506020612c9185828601612c46565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112612cc057612cbf612c9b565b5b8235905067ffffffffffffffff811115612cdd57612cdc612ca0565b5b602083019150836020820283011115612cf957612cf8612ca5565b5b9250929050565b60008060008060408587031215612d1a57612d19612ac7565b5b600085013567ffffffffffffffff811115612d3857612d37612acc565b5b612d4487828801612caa565b9450945050602085013567ffffffffffffffff811115612d6757612d66612acc565b5b612d7387828801612caa565b925092505092959194509250565b612d8a81612bfb565b8114612d9557600080fd5b50565b600081359050612da781612d81565b92915050565b600080600060608486031215612dc657612dc5612ac7565b5b6000612dd486828701612b8f565b9350506020612de586828701612d98565b9250506040612df686828701612c46565b9150509250925092565b60008060408385031215612e1757612e16612ac7565b5b6000612e2585828601612b8f565b9250506020612e3685828601612d98565b9150509250929050565b600060208284031215612e5657612e55612ac7565b5b6000612e6484828501612c46565b91505092915050565b60008115159050919050565b612e8281612e6d565b82525050565b6000602082019050612e9d6000830184612e79565b92915050565b600082825260208201905092915050565b7f696e76616c696420697373756520726571756573742069640000000000000000600082015250565b6000612eea601883612ea3565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b612f2981612b54565b82525050565b6000604082019050612f446000830185612c05565b612f516020830184612f20565b9392505050565b7f696e76616c6964206f776e6572206368616e6765207265717565737420696400600082015250565b6000612f8e601f83612ea3565b9150612f9982612f58565b602082019050919050565b60006020820190508181036000830152612fbd81612f81565b9050919050565b6000602082019050612fd96000830184612f20565b92915050565b7f746f6b656e20616464726573732063616e6e6f74206265207a65726f00000000600082015250565b6000613015601c83612ea3565b915061302082612fdf565b602082019050919050565b6000602082019050818103600083015261304481613008565b9050919050565b60006060820190506130606000830186612bd1565b61306d6020830185612f20565b61307a6040830184612f20565b949350505050565b7f696e76616c69642066756e6473206465737472756374696f6e2072657175657360008201527f7420696400000000000000000000000000000000000000000000000000000000602082015250565b60006130de602483612ea3565b91506130e982613082565b604082019050919050565b6000602082019050818103600083015261310d816130d1565b9050919050565b60006080820190506131296000830187612bd1565b6131366020830186612f20565b6131436040830185612f20565b6131506060830184612f20565b95945050505050565b7f73686f756c642065697468657220616464206f722072656d6f766520736f6d6560008201527f206163636f756e74730000000000000000000000000000000000000000000000602082015250565b60006131b5602983612ea3565b91506131c082613159565b604082019050919050565b600060208201905081810360008301526131e4816131a8565b9050919050565b600082825260208201905092915050565b6000819050919050565b61320f81612b54565b82525050565b60006132218383613206565b60208301905092915050565b600061323c6020840184612c46565b905092915050565b6000602082019050919050565b600061325d83856131eb565b9350613268826131fc565b8060005b858110156132a15761327e828461322d565b6132888882613215565b975061329383613244565b92505060018101905061326c565b5085925050509392505050565b60006080820190506132c36000830189612bd1565b6132d06020830188612f20565b81810360408301526132e3818688613251565b905081810360608301526132f8818486613251565b9050979650505050505050565b7f63616e6e6f74206973737565203020746f6b656e730000000000000000000000600082015250565b600061333b601583612ea3565b915061334682613305565b602082019050919050565b6000602082019050818103600083015261336a8161332e565b9050919050565b600060a0820190506133866000830188612bd1565b6133936020830187612f20565b6133a06040830186612f20565b6133ad6060830185612c05565b6133ba6080830184612f20565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133fe82612bfb565b915061340983612bfb565b9250828201905080821115613421576134206133c4565b5b92915050565b7f696e76616c69642072656465656d207265717565737420696400000000000000600082015250565b600061345d601983612ea3565b915061346882613427565b602082019050919050565b6000602082019050818103600083015261348c81613450565b9050919050565b7f696e76616c696420766f74657273206c697374206368616e676520726571756560008201527f7374000000000000000000000000000000000000000000000000000000000000602082015250565b60006134ef602283612ea3565b91506134fa82613493565b604082019050919050565b6000602082019050818103600083015261351e816134e2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f696e76616c6964206465707265636174696f6e20726571756573742069640000600082015250565b600061358a601e83612ea3565b915061359582613554565b602082019050919050565b600060208201905081810360008301526135b98161357d565b9050919050565b7f63616e6e6f742072656465656d203020746f6b656e7300000000000000000000600082015250565b60006135f6601683612ea3565b9150613601826135c0565b602082019050919050565b60006020820190508181036000830152613625816135e9565b9050919050565b60006080820190506136416000830187612bd1565b61364e6020830186612f20565b61365b6040830185612f20565b6136686060830184612c05565b95945050505050565b7f63616e6e6f74207570677261646520746f207a65726f20616464726573730000600082015250565b60006136a7601e83612ea3565b91506136b282613671565b602082019050919050565b600060208201905081810360008301526136d68161369a565b9050919050565b7f696e76616c696420626c61636b6c697374207265717565737420696400000000600082015250565b6000613713601c83612ea3565b915061371e826136dd565b602082019050919050565b6000602082019050818103600083015261374281613706565b9050919050565b7f696e76616c696420706175736520726571756573742069640000000000000000600082015250565b600061377f601883612ea3565b915061378a82613749565b602082019050919050565b600060208201905081810360008301526137ae81613772565b9050919050565b7f696e76616c696420756e70617573652072657175657374206964000000000000600082015250565b60006137eb601a83612ea3565b91506137f6826137b5565b602082019050919050565b6000602082019050818103600083015261381a816137de565b9050919050565b7f696e76616c696420756e626c61636b6c69737420726571756573742069640000600082015250565b6000613857601e83612ea3565b915061386282613821565b602082019050919050565b600060208201905081810360008301526138868161384a565b9050919050565b7f6e6f74206120766f74696e67206163636f756e74000000000000000000000000600082015250565b60006138c3601483612ea3565b91506138ce8261388d565b602082019050919050565b600060208201905081810360008301526138f2816138b6565b9050919050565b7f696e76616c696420726571756573742069640000000000000000000000000000600082015250565b600061392f601283612ea3565b915061393a826138f9565b602082019050919050565b6000602082019050818103600083015261395e81613922565b9050919050565b7f7265717565737420616c726561647920636f6d706c6574656400000000000000600082015250565b600061399b601983612ea3565b91506139a682613965565b602082019050919050565b600060208201905081810360008301526139ca8161398e565b9050919050565b7f7265717565737420696e76616c69646174656420616674657220766f7465727360008201527f206c697374206368616e67650000000000000000000000000000000000000000602082015250565b6000613a2d602c83612ea3565b9150613a38826139d1565b604082019050919050565b60006020820190508181036000830152613a5c81613a20565b9050919050565b7f72657175657374206973206f7574646174656400000000000000000000000000600082015250565b6000613a99601383612ea3565b9150613aa482613a63565b602082019050919050565b60006020820190508181036000830152613ac881613a8c565b9050919050565b7f616c726561647920617070726f7665642062792074686973206163636f756e74600082015250565b6000613b05602083612ea3565b9150613b1082613acf565b602082019050919050565b60006020820190508181036000830152613b3481613af8565b9050919050565b6000613b4682612bfb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b7857613b776133c4565b5b600182019050919050565b6000613b8e82612bfb565b9150613b9983612bfb565b9250828203905081811115613bb157613bb06133c4565b5b92915050565b6000604082019050613bcc6000830185612c05565b613bd96020830184612bd1565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f63616e6e6f7420616464207a65726f206164647265737320746f20766f74696e60008201527f67206163636f756e7473206c6973740000000000000000000000000000000000602082015250565b6000613c6b602f83612ea3565b9150613c7682613c0f565b604082019050919050565b60006020820190508181036000830152613c9a81613c5e565b9050919050565b7f6e6f7420656e6f75676820766f74696e67206163636f756e74732077696c6c2060008201527f72656d61696e0000000000000000000000000000000000000000000000000000602082015250565b6000613cfd602683612ea3565b9150613d0882613ca1565b604082019050919050565b60006020820190508181036000830152613d2c81613cf0565b905091905056fea2646970667358221220cc52973225e45397eeaaef16354125b0e5bea0b336c2a67508be38094068b07064736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000004c2f6ad396ff2d1d105d0f6261743caec85aa564000000000000000000000000aa93b852f5a54ddb130ff5c79f8a838c492bf46e0000000000000000000000008798c87519e09a736efef4793e07d441f1fd7c21000000000000000000000000c0d19d3984d67e1d7de09d1d66e9cbd6bf2a9a920000000000000000000000001008554cf8b02ca890fb49540677a402955cb560000000000000000000000000334fe515c45851ff90a5313a6540e81954d91a11