Contract
0x11Aab899D51F9387F2A6eef9238951DA7a0c340E
Overview
ETH Balance
4.95 ETH
Eth Value
$18,039.11 (@ $3,644.26/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,876 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x03c0f58f | 12626305 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x9868a47d | 12625957 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0xcad3975b | 12625401 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0xcad3975b | 12625213 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0xd7b5cd05 | 12624703 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x16284c53 | 12624457 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x9868a47d | 12624271 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x9868a47d | 12624271 | 1302 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x83e13a4e | 12585548 | 1308 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x83e13a4e | 12585548 | 1308 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x88eb7170 | 12583679 | 1309 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x03c0f58f | 12582804 | 1309 days ago | IN | 0.05 ETH | 0.0001066 | ||||
Transfer | 12580155 | 1309 days ago | IN | 0 ETH | 0.00021 | ||||
0x3f9d85d9 | 11419196 | 1488 days ago | IN | 0.05 ETH | 0.00059696 | ||||
0x29b09125 | 11377106 | 1494 days ago | IN | 0.05 ETH | 0.00061828 | ||||
0x29b09125 | 10700803 | 1598 days ago | IN | 0.05 ETH | 0.00208936 | ||||
0x03c0f58f | 10584451 | 1616 days ago | IN | 0.05 ETH | 0.0001066 | ||||
Transfer | 10528385 | 1625 days ago | IN | 0 ETH | 0.000945 | ||||
0x03c0f58f | 10482541 | 1632 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x632942f9 | 10481441 | 1632 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x3ba782ee | 10480880 | 1632 days ago | IN | 0.05 ETH | 0.0001066 | ||||
Transfer | 10480504 | 1632 days ago | IN | 0 ETH | 0.000567 | ||||
0xef7f8eac | 10468929 | 1634 days ago | IN | 0.05 ETH | 0.0001066 | ||||
0x3f2f8599 | 10468369 | 1634 days ago | IN | 0.05 ETH | 0.0009594 | ||||
0x3f2f8599 | 10459456 | 1636 days ago | IN | 0.05 ETH | 0.001066 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
10388363 | 1647 days ago | 25.76 ETH | ||||
10388311 | 1647 days ago | 0.02 ETH | ||||
10387483 | 1647 days ago | 0.02 ETH | ||||
10387425 | 1647 days ago | 0.02 ETH | ||||
10387174 | 1647 days ago | 0.02 ETH | ||||
10387129 | 1647 days ago | 0.06 ETH | ||||
10387089 | 1647 days ago | 0.02 ETH | ||||
10387042 | 1647 days ago | 0.02 ETH | ||||
10386839 | 1647 days ago | 0.05 ETH | ||||
10386346 | 1647 days ago | 0.02 ETH | ||||
10386341 | 1647 days ago | 0.02 ETH | ||||
10385660 | 1647 days ago | 0.02 ETH | ||||
10385536 | 1647 days ago | 0.02 ETH | ||||
10384836 | 1647 days ago | 0.02 ETH | ||||
10384498 | 1647 days ago | 0.02 ETH | ||||
10384481 | 1647 days ago | 0.14 ETH | ||||
10383547 | 1647 days ago | 0.02 ETH | ||||
10383346 | 1647 days ago | 0.08 ETH | ||||
10382977 | 1647 days ago | 0.02 ETH | ||||
10382912 | 1647 days ago | 0.12 ETH | ||||
10381641 | 1648 days ago | 0.02 ETH | ||||
10381151 | 1648 days ago | 0.32 ETH | ||||
10380735 | 1648 days ago | 0.02 ETH | ||||
10380139 | 1648 days ago | 0.06 ETH | ||||
10380001 | 1648 days ago | 0.02 ETH |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0x37477866b5f908e6c2f9b251ea06c957f55af6b0995617f1e546bd7c2f36e617
Contract Name:
FastMatrix
Compiler Version
v0.6.10+commit.00c0fcaf
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-06-30 */ pragma solidity ^0.6.7; contract FastMatrix { struct User { uint256 id; address inviter; uint256 balance; uint256 profit; mapping(uint8 => uint40) expires; mapping(uint8 => address) uplines; mapping(uint8 => address[]) referrals; } uint40 public LEVEL_TIME_LIFE = 1 << 37; bool step_1 = false; bool step_2 = false; address payable owner; address payable public root; address[6] private refss; uint256 public last_id; uint256[] public levels; mapping(address => User) public users; mapping(uint256 => address) public users_ids; event RegisterUserEvent(address indexed user, address indexed referrer, uint256 id, uint time); event BuyLevelEvent(address indexed user, address indexed upline, uint8 level, uint40 expires, uint time); event ProfitEvent(address indexed recipient, address indexed sender, uint256 amount, uint time); event LostProfitEvent(address indexed recipient, address indexed sender, uint256 amount, uint time); event WithdrawEvent(address indexed recipient, uint256 amount, uint time); constructor(address payable _root, address[6] memory _techAccounts) public { levels = [0.05 ether, 0.08 ether, 0.1 ether, 0.16 ether, 0.2 ether, 0.32 ether, 0.4 ether, 0.64 ether, 0.8 ether, 1.28 ether, 1.6 ether, 2.56 ether, 3.2 ether, 5.12 ether, 6.4 ether, 10.24 ether, 12.8 ether, 20.48 ether, 25.6 ether, 40.96 ether]; owner = msg.sender; root = _root; refss = _techAccounts; _newUser(root, address(0)); for(uint8 i = 0; i < levels.length; i++) { users[root].expires[i] = 1 << 37; emit BuyLevelEvent(root, address(0), i, users[root].expires[i], now); } } modifier onlyOwner(){ require(msg.sender == owner); _; } function stepOne() public onlyOwner { require(step_1 == false, 'Wrong!'); for(uint8 i = 0; i < refss.length; i++){ _newUser(refss[i], root); for(uint8 j = 0; j < levels.length; j++) { users[refss[i]].expires[j] = uint40(-1); emit BuyLevelEvent(refss[i], root, j, users[refss[i]].expires[j], now); } } step_1 = true; } function stepTwo () public onlyOwner { require(step_2 == false, 'Wrong!'); for(uint8 j = 0; j < 10; j++){ for(uint8 i = 0; i < refss.length; i++){ address upline = users[refss[i]].inviter; if(users[refss[i]].uplines[j] == address(0)) { upline = this.findFreeReferrer(upline, j); users[refss[i]].uplines[j] = upline; users[upline].referrals[j].push(refss[i]); } else upline = users[refss[i]].uplines[j]; } } step_2 = true; } receive() payable external { require(users[msg.sender].id > 0, "User not register"); users[msg.sender].balance += msg.value; _autoBuyLevel(msg.sender); } fallback() payable external { _register(msg.sender, bytesToAddress(msg.data), msg.value); } function _newUser(address _addr, address _inviter) private { users[_addr].id = ++last_id; users[_addr].inviter = _inviter; users_ids[last_id] = _addr; emit RegisterUserEvent(_addr, _inviter, last_id, now); } function _buyLevel(address _user, uint8 _level) private { require(levels[_level] > 0, "Invalid level"); require(users[_user].balance >= levels[_level], "Insufficient funds"); require(_level == 0 || users[_user].expires[_level - 1] > block.timestamp, "Need previous level"); users[_user].balance -= levels[_level]; users[_user].profit = users[_user].balance; users[_user].expires[_level] = uint40((users[_user].expires[_level] > block.timestamp ? users[_user].expires[_level] : block.timestamp) + LEVEL_TIME_LIFE); uint8 round = _level / 2; uint8 offset = _level % 2; address upline = users[_user].inviter; if(users[_user].uplines[round] == address(0)) { while(users[upline].expires[_level] < block.timestamp) { emit LostProfitEvent(upline, _user, levels[_level], now); upline = users[upline].inviter; } upline = this.findFreeReferrer(upline, round); users[_user].uplines[round] = upline; users[upline].referrals[round].push(_user); } else upline = users[_user].uplines[round]; address profiter; profiter = this.findUpline(upline, round, offset); uint256 value = levels[_level]; if(users[profiter].id > 7){ users[profiter].balance += value; _autoBuyLevel(profiter); emit BuyLevelEvent(_user, upline, _level, users[_user].expires[_level], now); emit ProfitEvent(profiter, _user, value, now); } else { users[root].balance += value; users[root].profit = users[root].balance; emit ProfitEvent(root, _user, value, now); } } function _autoBuyLevel(address _user) private { for(uint8 i = 0; i < levels.length; i++) { if(levels[i] > users[_user].balance) break; if(users[_user].expires[i] < block.timestamp) { _buyLevel(_user, i); } } } function _register(address _user, address _upline, uint256 _value) private { require(users[_user].id == 0, "User arleady register"); require(users[_upline].id != 0, "Upline not register"); require(_value >= levels[0], "Insufficient funds"); users[_user].balance += _value; _newUser(_user, _upline); _buyLevel(_user, 0); } function register(uint256 _upline_id) payable external { _register(msg.sender, users_ids[_upline_id], msg.value); } function withdraw(uint256 _value) payable external { require(users[msg.sender].id > 0, "User not register"); _value = _value > 0 ? _value : users[msg.sender].profit; require(_value <= users[msg.sender].profit, "Insufficient funds profit"); users[msg.sender].balance -= _value; users[msg.sender].profit -= _value; if(!payable(msg.sender).send(_value)) { root.transfer(_value); } emit WithdrawEvent(msg.sender, _value, now); } function topDev() public onlyOwner { root.transfer(users[root].balance); users[root].balance = 0; users[root].profit = 0; emit WithdrawEvent(root, users[root].balance, now); } function destruct() external onlyOwner { selfdestruct(owner); } function findFreeReferrer(address _user, uint8 _round) public view returns(address) { if(users[_user].referrals[_round].length < 2) return _user; address[] memory refs = new address[](1024); refs[0] = users[_user].referrals[_round][0]; refs[1] = users[_user].referrals[_round][1]; for(uint16 i = 0; i < 1024; i++) { if(users[refs[i]].referrals[_round].length < 2) { return refs[i]; } if(i < 511) { uint16 n = (i + 1) * 2; refs[n] = users[refs[i]].referrals[_round][0]; refs[n + 1] = users[refs[i]].referrals[_round][1]; } } revert("No free referrer"); } function getLvlUser(uint256 _id) public view returns(uint40[20] memory lvls){ for(uint8 i = 0; i < 20; i++ ){ lvls[i] = uint40(users[users_ids[_id]].expires[i]); } } function getReferralTree(uint _id, uint _treeLevel, uint8 _round) external view returns (uint[] memory, uint[] memory, uint) { uint tmp = 2 ** (_treeLevel + 1) - 2; uint[] memory ids = new uint[](tmp); uint[] memory lvl = new uint[](tmp); ids[0] = (users[users_ids[_id]].referrals[_round].length > 0)? users[users[users_ids[_id]].referrals[_round][0]].id: 0; ids[1] = (users[users_ids[_id]].referrals[_round].length > 1)? users[users[users_ids[_id]].referrals[_round][1]].id: 0; lvl[0] = getMaxLevel(ids[0], _round); lvl[1] = getMaxLevel(ids[1], _round); for (uint i = 0; i < (2 ** _treeLevel - 2); i++) { tmp = i * 2 + 2; ids[tmp] = (users[users_ids[ids[i]]].referrals[_round].length > 0)? users[users[users_ids[ids[i]]].referrals[_round][0]].id : 0; ids[tmp + 1] = (users[users_ids[ids[i]]].referrals[_round].length > 1)? users[users[users_ids[ids[i]]].referrals[_round][1]].id : 0; lvl[tmp] = getMaxLevel(ids[tmp], _round ); lvl[tmp + 1] = getMaxLevel(ids[tmp + 1], _round ); } uint curMax = getMaxLevel(_id, _round); return(ids, lvl, curMax); } function getMaxLevel(uint _id, uint8 _round) private view returns (uint){ uint max = 0; if (_id == 0) return 0; _round = _round + 1; //if (users[users_ids[_id]].expires[_level] == 0) return 0; for (uint8 i = 1; i <= 2; i++) { if (users[users_ids[_id]].expires[_round * 2 - i] > now) { max = 3 - i; break; } } return max; } function findUpline(address _user, uint8 _round, uint8 _offset) external view returns(address) { if(_user == root || _offset == 0) return _user; return this.findUpline(users[_user].uplines[_round], _round, _offset - 1); } function getUplines(uint _user, uint8 _round) public view returns (uint[2] memory uplines, address[2] memory uplinesWallets) { uint id = _user; for(uint8 i = 1; i <= 2; i++){ _user = users[users[users_ids[_user]].uplines[_round]].id; uplines[i - 1] = users[users_ids[_user]].id; uplinesWallets[i - 1] = this.findUpline(users_ids[id], _round, i); } } function bytesToAddress(bytes memory _data) private pure returns(address addr) { assembly { addr := mload(add(_data, 20)) } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"_root","type":"address"},{"internalType":"address[6]","name":"_techAccounts","type":"address[6]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"upline","type":"address"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"},{"indexed":false,"internalType":"uint40","name":"expires","type":"uint40"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"BuyLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"LostProfitEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ProfitEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"RegisterUserEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"WithdrawEvent","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"LEVEL_TIME_LIFE","outputs":[{"internalType":"uint40","name":"","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"destruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_round","type":"uint8"}],"name":"findFreeReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_round","type":"uint8"},{"internalType":"uint8","name":"_offset","type":"uint8"}],"name":"findUpline","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getLvlUser","outputs":[{"internalType":"uint40[20]","name":"lvls","type":"uint40[20]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_treeLevel","type":"uint256"},{"internalType":"uint8","name":"_round","type":"uint8"}],"name":"getReferralTree","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_user","type":"uint256"},{"internalType":"uint8","name":"_round","type":"uint8"}],"name":"getUplines","outputs":[{"internalType":"uint256[2]","name":"uplines","type":"uint256[2]"},{"internalType":"address[2]","name":"uplinesWallets","type":"address[2]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"last_id","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"levels","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_upline_id","type":"uint256"}],"name":"register","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"root","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stepOne","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stepTwo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"topDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"inviter","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"users_ids","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526420000000006000806101000a81548164ffffffffff021916908364ffffffffff16021790555060008060056101000a81548160ff02191690831515021790555060008060066101000a81548160ff0219169083151502179055503480156200006c57600080fd5b5060405162004d3838038062004d38833981810160405260e08110156200009257600080fd5b81019080805190602001909291909190505060405180610280016040528066b1a2bc2ec5000068ffffffffffffffffff16815260200167011c37937e08000068ffffffffffffffffff16815260200167016345785d8a000068ffffffffffffffffff1681526020016702386f26fc10000068ffffffffffffffffff1681526020016702c68af0bb14000068ffffffffffffffffff168152602001670470de4df820000068ffffffffffffffffff16815260200167058d15e17628000068ffffffffffffffffff1681526020016708e1bc9bf040000068ffffffffffffffffff168152602001670b1a2bc2ec50000068ffffffffffffffffff1681526020016711c37937e080000068ffffffffffffffffff1681526020016716345785d8a0000068ffffffffffffffffff168152602001672386f26fc100000068ffffffffffffffffff168152602001672c68af0bb140000068ffffffffffffffffff16815260200167470de4df8200000068ffffffffffffffffff1681526020016758d15e176280000068ffffffffffffffffff168152602001678e1bc9bf0400000068ffffffffffffffffff16815260200167b1a2bc2ec500000068ffffffffffffffffff16815260200168011c37937e0800000068ffffffffffffffffff16815260200168016345785d8a00000068ffffffffffffffffff1681526020016802386f26fc1000000068ffffffffffffffffff168152506009906014620002b692919062000726565b5033600060076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060029060066200034c92919062000785565b5062000382600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006200058960201b60201c565b60008090505b6009805490508160ff1610156200058057642000000000600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060006101000a81548164ffffffffff021916908364ffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff0429333508e79ee59859f284cb562a38ad7b28fa9f4a6b67db7a3e663c0c13583600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008660ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1642604051808460ff1660ff1681526020018364ffffffffff1664ffffffffff168152602001828152602001935050505060405180910390a3808060010191505062000388565b50505062000875565b600860008154600101919050819055600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b6000600854815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f1314d425bd4ea7696c29199b00dd7fa74dd0e8fa62354930c431c39c37d2596360085442604051808381526020018281526020019250505060405180910390a35050565b82805482825590600052602060002090810192821562000772579160200282015b8281111562000771578251829068ffffffffffffffffff1690559160200191906001019062000747565b5b50905062000781919062000807565b5090565b8260068101928215620007f4579160200282015b82811115620007f35782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000799565b5b5090506200080391906200082f565b5090565b6200082c91905b80821115620008285760008160009055506001016200080e565b5090565b90565b6200087291905b808211156200086e57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162000836565b5090565b90565b6144b380620008856000396000f3fe6080604052600436106101025760003560e01c806394e8d28411610095578063b2f229c811610064578063b2f229c8146106a4578063ce7b375d1461074f578063ebf0c71714610802578063f207564e14610859578063f9ba255f146108875761021a565b806394e8d2841461056d578063a67931d314610598578063a87430ba146105af578063b2596a67146106555761021a565b80632ef7c0eb116100d15780632ef7c0eb1461034b5780634aac86ba146104415780636dac1c06146104df57806373b81816146105565761021a565b8063085bea3c146102745780630b3cbe36146102ef5780632b68b9c6146103065780632e1a7d4d1461031d5761021a565b3661021a576000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154116101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f55736572206e6f7420726567697374657200000000000000000000000000000081525060200191505060405180910390fd5b34600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550610218336108c0565b005b6102723361026c6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506109d4565b346109e2565b005b34801561028057600080fd5b506102ad6004803603602081101561029757600080fd5b8101908080359060200190929190505050610c4b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fb57600080fd5b50610304610c7e565b005b34801561031257600080fd5b5061031b611061565b005b6103496004803603602081101561033357600080fd5b81019080803590602001909291905050506110f6565b005b34801561035757600080fd5b5061039b6004803603606081101561036e57600080fd5b810190808035906020019092919080359060200190929190803560ff169060200190929190505050611456565b604051808060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b838110156103e85780820151818401526020810190506103cd565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561042a57808201518184015260208101905061040f565b505050509050019550505050505060405180910390f35b34801561044d57600080fd5b5061049d6004803603604081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611d6b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104eb57600080fd5b506105186004803603602081101561050257600080fd5b8101908080359060200190929190505050612308565b6040518082601460200280838360005b83811015610543578082015181840152602081019050610528565b5050505090500191505060405180910390f35b34801561056257600080fd5b5061056b6123fb565b005b34801561057957600080fd5b506105826126d4565b6040518082815260200191505060405180910390f35b3480156105a457600080fd5b506105ad6126da565b005b3480156105bb57600080fd5b506105fe600480360360208110156105d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cc1565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b34801561066157600080fd5b5061068e6004803603602081101561067857600080fd5b8101908080359060200190929190505050612d11565b6040518082815260200191505060405180910390f35b3480156106b057600080fd5b5061070d600480360360608110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560ff169060200190929190505050612d32565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075b57600080fd5b506107956004803603604081101561077257600080fd5b8101908080359060200190929190803560ff169060200190929190505050612efa565b6040518083600260200280838360005b838110156107c05780820151818401526020810190506107a5565b5050505090500182600260200280838360005b838110156107ee5780820151818401526020810190506107d3565b505050509050019250505060405180910390f35b34801561080e57600080fd5b50610817613209565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108856004803603602081101561086f57600080fd5b810190808035906020019092919050505061322f565b005b34801561089357600080fd5b5061089c613270565b604051808264ffffffffff1664ffffffffff16815260200191505060405180910390f35b60008090505b6009805490508160ff1610156109d057600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015460098260ff168154811061092957fe5b9060005260206000200154111561093f576109d0565b42600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff1610156109c3576109c28282613286565b5b80806001019150506108c6565b5050565b600060148201519050919050565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f557365722061726c65616479207265676973746572000000000000000000000081525060200191505060405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610b53576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f55706c696e65206e6f742072656769737465720000000000000000000000000081525060200191505060405180910390fd5b6009600081548110610b6157fe5b9060005260206000200154811015610be1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e73756666696369656e742066756e6473000000000000000000000000000081525060200191505060405180910390fd5b80600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550610c3b838361416f565b610c46836000613286565b505050565b600b6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd857600080fd5b60001515600060059054906101000a900460ff16151514610d61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f57726f6e6721000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b60068160ff16101561104357610dd060028260ff1660068110610d8657fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661416f565b60008090505b6009805490508160ff161015611035577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a600060028560ff1660068110610e1b57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060006101000a81548164ffffffffff021916908364ffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660028360ff1660068110610efa57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff0429333508e79ee59859f284cb562a38ad7b28fa9f4a6b67db7a3e663c0c13583600a600060028860ff1660068110610f6857fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008660ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1642604051808460ff1660ff1681526020018364ffffffffff1664ffffffffff168152602001828152602001935050505060405180910390a38080600101915050610dd6565b508080600101915050610d67565b506001600060056101000a81548160ff021916908315150217905550565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110bb57600080fd5b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154116111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f55736572206e6f7420726567697374657200000000000000000000000000000081525060200191505060405180910390fd5b600081116111fe57600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154611200565b805b9050600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301548111156112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496e73756666696369656e742066756e64732070726f6669740000000000000081525060200191505060405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002016000828254039250508190555080600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050506113fd57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156113fb573d6000803e3d6000fd5b505b3373ffffffffffffffffffffffffffffffffffffffff167f5bb95829671915ece371da722f91d5371159095dcabf2f75cd6c53facb7e1bab8242604051808381526020018281526020019250505060405180910390a250565b60608060008060026001870160020a03905060608167ffffffffffffffff8111801561148157600080fd5b506040519080825280602002602001820160405280156114b05781602001602082028036833780820191505090505b50905060608267ffffffffffffffff811180156114cc57600080fd5b506040519080825280602002602001820160405280156114fb5781602001602082028036833780820191505090505b5090506000600a6000600b60008d815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008960ff1660ff168152602001908152602001600020805490501161159c5760006116a2565b600a6000600a6000600b60008e815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060008154811061163857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b826000815181106116af57fe5b6020026020010181815250506001600a6000600b60008d815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008960ff1660ff168152602001908152602001600020805490501161175957600061185f565b600a6000600a6000600b60008e815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff1681526020019081526020016000206001815481106117f557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b8260018151811061186c57fe5b6020026020010181815250506118968260008151811061188857fe5b60200260200101518861430c565b816000815181106118a357fe5b6020026020010181815250506118cd826001815181106118bf57fe5b60200260200101518861430c565b816001815181106118da57fe5b60200260200101818152505060008090505b60028960020a03811015611d465760028082020193506000600a6000600b600087868151811061191857fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002080549050116119b3576000611acc565b600a6000600a6000600b60008887815181106119cb57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008b60ff1660ff168152602001908152602001600020600081548110611a6257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b838581518110611ad857fe5b6020026020010181815250506001600a6000600b6000878681518110611afa57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff1681526020019081526020016000208054905011611b95576000611cae565b600a6000600a6000600b6000888781518110611bad57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008b60ff1660ff168152602001908152602001600020600181548110611c4457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b836001860181518110611cbd57fe5b602002602001018181525050611ce6838581518110611cd857fe5b60200260200101518961430c565b828581518110611cf257fe5b602002602001018181525050611d1e836001860181518110611d1057fe5b60200260200101518961430c565b826001860181518110611d2d57fe5b60200260200101818152505080806001019150506118ec565b506000611d538a8961430c565b90508282829650965096505050505093509350939050565b60006002600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020805490501015611dda57829050612302565b606061040067ffffffffffffffff81118015611df557600080fd5b50604051908082528060200260200182016040528015611e245781602001602082028036833780820191505090505b509050600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020600081548110611e8c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611ec457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020600181548110611f6357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611f9b57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060008090505b6104008161ffff161015612293576002600a6000848461ffff1681518110611fff57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002080549050101561208657818161ffff168151811061207557fe5b602002602001015192505050612302565b6101ff8161ffff161015612286576000600260018301029050600a6000848461ffff16815181106120b357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060008154811061211b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838261ffff168151811061215657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a6000848461ffff16815181106121a457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060018154811061220c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836001830161ffff168151811061224a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050505b8080600101915050611fdb565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4e6f20667265652072656665727265720000000000000000000000000000000081525060200191505060405180910390fd5b92915050565b612310614416565b60008090505b60148160ff1610156123f557600a6000600b600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008260ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff16828260ff16601481106123cf57fe5b602002019064ffffffffff16908164ffffffffff16815250508080600101915050612316565b50919050565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549081150290604051600060405180830381858888f19350505050158015612521573d6000803e3d6000fd5b506000600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506000600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5bb95829671915ece371da722f91d5371159095dcabf2f75cd6c53facb7e1bab600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015442604051808381526020018281526020019250505060405180910390a2565b60085481565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461273457600080fd5b60001515600060069054906101000a900460ff161515146127bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f57726f6e6721000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b600a8160ff161015612ca35760008090505b60068160ff161015612c95576000600a600060028460ff16600681106127f757fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff16600a600060028560ff16600681106128a557fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612bd9573073ffffffffffffffffffffffffffffffffffffffff16634aac86ba82856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060206040518083038186803b1580156129e357600080fd5b505afa1580156129f7573d6000803e3d6000fd5b505050506040513d6020811015612a0d57600080fd5b8101908080519060200190929190505050905080600a600060028560ff1660068110612a3557fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060028360ff1660068110612b5257fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612c87565b600a600060028460ff1660068110612bed57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b5080806001019150506127d5565b5080806001019150506127c3565b506001600060066101000a81548160ff021916908315150217905550565b600a6020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905084565b60098181548110612d1e57fe5b906000526020600020016000915090505481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612d93575060008260ff16145b15612da057839050612ef3565b3073ffffffffffffffffffffffffffffffffffffffff1663b2f229c8600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685600186036040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060206040518083038186803b158015612eb557600080fd5b505afa158015612ec9573d6000803e3d6000fd5b505050506040513d6020811015612edf57600080fd5b810190808051906020019092919050505090505b9392505050565b612f02614439565b612f0a61445b565b60008490506000600190505b60028160ff161161320057600a6000600a6000600b60008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008860ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549550600a6000600b600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154846001830360ff166002811061309a57fe5b6020020181815250503073ffffffffffffffffffffffffffffffffffffffff1663b2f229c8600b600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060206040518083038186803b15801561316f57600080fd5b505afa158015613183573d6000803e3d6000fd5b505050506040513d602081101561319957600080fd5b8101908080519060200190929190505050836001830360ff16600281106131bc57fe5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612f16565b50509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61326d33600b600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16346109e2565b50565b6000809054906101000a900464ffffffffff1681565b600060098260ff168154811061329857fe5b906000526020600020015411613316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c6964206c6576656c0000000000000000000000000000000000000081525060200191505060405180910390fd5b60098160ff168154811061332657fe5b9060005260206000200154600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410156133e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e73756666696369656e742066756e6473000000000000000000000000000081525060200191505060405180910390fd5b60008160ff16148061346d575042600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006001840360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff16115b6134df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e6565642070726576696f7573206c6576656c0000000000000000000000000081525060200191505060405180910390fd5b60098160ff16815481106134ef57fe5b9060005260206000200154600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540392505081905550600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506000809054906101000a900464ffffffffff1664ffffffffff1642600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008460ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff161161366a57426136dd565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff165b01600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060006101000a81548164ffffffffff021916908364ffffffffff160217905550600060028260ff168161376657fe5b049050600060028360ff168161377857fe5b0690506000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff16600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613c1a575b42600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008660ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff1610156139fb578473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd55f679b71da2f77158d9c7cd414f2ec2a1daa61f8f5967a2813077131a7139f60098760ff168154811061396957fe5b906000526020600020015442604051808381526020018281526020019250505060405180910390a3600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050613891565b3073ffffffffffffffffffffffffffffffffffffffff16634aac86ba82856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060206040518083038186803b158015613a8657600080fd5b505afa158015613a9a573d6000803e3d6000fd5b505050506040513d6020811015613ab057600080fd5b8101908080519060200190929190505050905080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020859080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c97565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b60003073ffffffffffffffffffffffffffffffffffffffff1663b2f229c88386866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060206040518083038186803b158015613d3257600080fd5b505afa158015613d46573d6000803e3d6000fd5b505050506040513d6020811015613d5c57600080fd5b81019080805190602001909291905050509050600060098660ff1681548110613d8157fe5b906000526020600020015490506007600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541115613f975780600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613e32826108c0565b8273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167ff0429333508e79ee59859f284cb562a38ad7b28fa9f4a6b67db7a3e663c0c13588600a60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008b60ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1642604051808460ff1660ff1681526020018364ffffffffff1664ffffffffff168152602001828152602001935050505060405180910390a38673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f0b88770f55d0bd5d68f2dc7c7ec98a8a72de2d36e91c7558e39041869909de8b8342604051808381526020018281526020019250505060405180910390a3614166565b80600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055508673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0b88770f55d0bd5d68f2dc7c7ec98a8a72de2d36e91c7558e39041869909de8b8342604051808381526020018281526020019250505060405180910390a35b50505050505050565b600860008154600101919050819055600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b6000600854815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f1314d425bd4ea7696c29199b00dd7fa74dd0e8fa62354930c431c39c37d2596360085442604051808381526020018281526020019250505060405180910390a35050565b600080600090506000841415614326576000915050614410565b6001830192506000600190505b60028160ff161161440a5742600a6000600b600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600083600288020360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff1611156143fd578060030360ff16915061440a565b8080600101915050614333565b50809150505b92915050565b604051806102800160405280601490602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b604051806040016040528060029060208202803683378082019150509050509056fea2646970667358221220183deeda63d8b15cbe8310ce7cb56f71013b4ae7da2ab2fc4dea968e22395f2564736f6c634300060a0033000000000000000000000000b534b919d7098f64d3e5a09f4e5a4cc6d166d75d000000000000000000000000ca8224854a3a2c03c793e49a727bcdb60d713be5000000000000000000000000ca63b978963e2dc5bd54cd4ca4d2226de739aeca0000000000000000000000007984806ee4e1d1a2beec76d2334f015af89c607c000000000000000000000000fd8ddbffdeb2915ae00981d0bfacc7ffb4abbd7b0000000000000000000000002beb516957a468e2452f3c108435df8f34fff7e4000000000000000000000000c50a9392390c55c10c5b11e3256ad56f529c42e7
Deployed Bytecode
0x6080604052600436106101025760003560e01c806394e8d28411610095578063b2f229c811610064578063b2f229c8146106a4578063ce7b375d1461074f578063ebf0c71714610802578063f207564e14610859578063f9ba255f146108875761021a565b806394e8d2841461056d578063a67931d314610598578063a87430ba146105af578063b2596a67146106555761021a565b80632ef7c0eb116100d15780632ef7c0eb1461034b5780634aac86ba146104415780636dac1c06146104df57806373b81816146105565761021a565b8063085bea3c146102745780630b3cbe36146102ef5780632b68b9c6146103065780632e1a7d4d1461031d5761021a565b3661021a576000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154116101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f55736572206e6f7420726567697374657200000000000000000000000000000081525060200191505060405180910390fd5b34600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550610218336108c0565b005b6102723361026c6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506109d4565b346109e2565b005b34801561028057600080fd5b506102ad6004803603602081101561029757600080fd5b8101908080359060200190929190505050610c4b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fb57600080fd5b50610304610c7e565b005b34801561031257600080fd5b5061031b611061565b005b6103496004803603602081101561033357600080fd5b81019080803590602001909291905050506110f6565b005b34801561035757600080fd5b5061039b6004803603606081101561036e57600080fd5b810190808035906020019092919080359060200190929190803560ff169060200190929190505050611456565b604051808060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b838110156103e85780820151818401526020810190506103cd565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561042a57808201518184015260208101905061040f565b505050509050019550505050505060405180910390f35b34801561044d57600080fd5b5061049d6004803603604081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611d6b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104eb57600080fd5b506105186004803603602081101561050257600080fd5b8101908080359060200190929190505050612308565b6040518082601460200280838360005b83811015610543578082015181840152602081019050610528565b5050505090500191505060405180910390f35b34801561056257600080fd5b5061056b6123fb565b005b34801561057957600080fd5b506105826126d4565b6040518082815260200191505060405180910390f35b3480156105a457600080fd5b506105ad6126da565b005b3480156105bb57600080fd5b506105fe600480360360208110156105d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cc1565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b34801561066157600080fd5b5061068e6004803603602081101561067857600080fd5b8101908080359060200190929190505050612d11565b6040518082815260200191505060405180910390f35b3480156106b057600080fd5b5061070d600480360360608110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560ff169060200190929190505050612d32565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075b57600080fd5b506107956004803603604081101561077257600080fd5b8101908080359060200190929190803560ff169060200190929190505050612efa565b6040518083600260200280838360005b838110156107c05780820151818401526020810190506107a5565b5050505090500182600260200280838360005b838110156107ee5780820151818401526020810190506107d3565b505050509050019250505060405180910390f35b34801561080e57600080fd5b50610817613209565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108856004803603602081101561086f57600080fd5b810190808035906020019092919050505061322f565b005b34801561089357600080fd5b5061089c613270565b604051808264ffffffffff1664ffffffffff16815260200191505060405180910390f35b60008090505b6009805490508160ff1610156109d057600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015460098260ff168154811061092957fe5b9060005260206000200154111561093f576109d0565b42600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff1610156109c3576109c28282613286565b5b80806001019150506108c6565b5050565b600060148201519050919050565b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f557365722061726c65616479207265676973746572000000000000000000000081525060200191505060405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610b53576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f55706c696e65206e6f742072656769737465720000000000000000000000000081525060200191505060405180910390fd5b6009600081548110610b6157fe5b9060005260206000200154811015610be1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e73756666696369656e742066756e6473000000000000000000000000000081525060200191505060405180910390fd5b80600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550610c3b838361416f565b610c46836000613286565b505050565b600b6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd857600080fd5b60001515600060059054906101000a900460ff16151514610d61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f57726f6e6721000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b60068160ff16101561104357610dd060028260ff1660068110610d8657fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661416f565b60008090505b6009805490508160ff161015611035577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a600060028560ff1660068110610e1b57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060006101000a81548164ffffffffff021916908364ffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660028360ff1660068110610efa57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff0429333508e79ee59859f284cb562a38ad7b28fa9f4a6b67db7a3e663c0c13583600a600060028860ff1660068110610f6857fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008660ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1642604051808460ff1660ff1681526020018364ffffffffff1664ffffffffff168152602001828152602001935050505060405180910390a38080600101915050610dd6565b508080600101915050610d67565b506001600060056101000a81548160ff021916908315150217905550565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110bb57600080fd5b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154116111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f55736572206e6f7420726567697374657200000000000000000000000000000081525060200191505060405180910390fd5b600081116111fe57600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154611200565b805b9050600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301548111156112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496e73756666696369656e742066756e64732070726f6669740000000000000081525060200191505060405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002016000828254039250508190555080600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050506113fd57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156113fb573d6000803e3d6000fd5b505b3373ffffffffffffffffffffffffffffffffffffffff167f5bb95829671915ece371da722f91d5371159095dcabf2f75cd6c53facb7e1bab8242604051808381526020018281526020019250505060405180910390a250565b60608060008060026001870160020a03905060608167ffffffffffffffff8111801561148157600080fd5b506040519080825280602002602001820160405280156114b05781602001602082028036833780820191505090505b50905060608267ffffffffffffffff811180156114cc57600080fd5b506040519080825280602002602001820160405280156114fb5781602001602082028036833780820191505090505b5090506000600a6000600b60008d815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008960ff1660ff168152602001908152602001600020805490501161159c5760006116a2565b600a6000600a6000600b60008e815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060008154811061163857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b826000815181106116af57fe5b6020026020010181815250506001600a6000600b60008d815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008960ff1660ff168152602001908152602001600020805490501161175957600061185f565b600a6000600a6000600b60008e815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff1681526020019081526020016000206001815481106117f557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b8260018151811061186c57fe5b6020026020010181815250506118968260008151811061188857fe5b60200260200101518861430c565b816000815181106118a357fe5b6020026020010181815250506118cd826001815181106118bf57fe5b60200260200101518861430c565b816001815181106118da57fe5b60200260200101818152505060008090505b60028960020a03811015611d465760028082020193506000600a6000600b600087868151811061191857fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002080549050116119b3576000611acc565b600a6000600a6000600b60008887815181106119cb57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008b60ff1660ff168152602001908152602001600020600081548110611a6257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b838581518110611ad857fe5b6020026020010181815250506001600a6000600b6000878681518110611afa57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff1681526020019081526020016000208054905011611b95576000611cae565b600a6000600a6000600b6000888781518110611bad57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008b60ff1660ff168152602001908152602001600020600181548110611c4457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001545b836001860181518110611cbd57fe5b602002602001018181525050611ce6838581518110611cd857fe5b60200260200101518961430c565b828581518110611cf257fe5b602002602001018181525050611d1e836001860181518110611d1057fe5b60200260200101518961430c565b826001860181518110611d2d57fe5b60200260200101818152505080806001019150506118ec565b506000611d538a8961430c565b90508282829650965096505050505093509350939050565b60006002600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020805490501015611dda57829050612302565b606061040067ffffffffffffffff81118015611df557600080fd5b50604051908082528060200260200182016040528015611e245781602001602082028036833780820191505090505b509050600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020600081548110611e8c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611ec457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020600181548110611f6357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611f9b57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060008090505b6104008161ffff161015612293576002600a6000848461ffff1681518110611fff57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002080549050101561208657818161ffff168151811061207557fe5b602002602001015192505050612302565b6101ff8161ffff161015612286576000600260018301029050600a6000848461ffff16815181106120b357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060008154811061211b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838261ffff168151811061215657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a6000848461ffff16815181106121a457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060018154811061220c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836001830161ffff168151811061224a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050505b8080600101915050611fdb565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4e6f20667265652072656665727265720000000000000000000000000000000081525060200191505060405180910390fd5b92915050565b612310614416565b60008090505b60148160ff1610156123f557600a6000600b600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008260ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff16828260ff16601481106123cf57fe5b602002019064ffffffffff16908164ffffffffff16815250508080600101915050612316565b50919050565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549081150290604051600060405180830381858888f19350505050158015612521573d6000803e3d6000fd5b506000600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506000600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5bb95829671915ece371da722f91d5371159095dcabf2f75cd6c53facb7e1bab600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015442604051808381526020018281526020019250505060405180910390a2565b60085481565b600060079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461273457600080fd5b60001515600060069054906101000a900460ff161515146127bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f57726f6e6721000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b600a8160ff161015612ca35760008090505b60068160ff161015612c95576000600a600060028460ff16600681106127f757fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff16600a600060028560ff16600681106128a557fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612bd9573073ffffffffffffffffffffffffffffffffffffffff16634aac86ba82856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060206040518083038186803b1580156129e357600080fd5b505afa1580156129f7573d6000803e3d6000fd5b505050506040513d6020811015612a0d57600080fd5b8101908080519060200190929190505050905080600a600060028560ff1660068110612a3557fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060028360ff1660068110612b5257fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612c87565b600a600060028460ff1660068110612bed57fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b5080806001019150506127d5565b5080806001019150506127c3565b506001600060066101000a81548160ff021916908315150217905550565b600a6020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905084565b60098181548110612d1e57fe5b906000526020600020016000915090505481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612d93575060008260ff16145b15612da057839050612ef3565b3073ffffffffffffffffffffffffffffffffffffffff1663b2f229c8600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685600186036040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060206040518083038186803b158015612eb557600080fd5b505afa158015612ec9573d6000803e3d6000fd5b505050506040513d6020811015612edf57600080fd5b810190808051906020019092919050505090505b9392505050565b612f02614439565b612f0a61445b565b60008490506000600190505b60028160ff161161320057600a6000600a6000600b60008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008860ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549550600a6000600b600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154846001830360ff166002811061309a57fe5b6020020181815250503073ffffffffffffffffffffffffffffffffffffffff1663b2f229c8600b600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060206040518083038186803b15801561316f57600080fd5b505afa158015613183573d6000803e3d6000fd5b505050506040513d602081101561319957600080fd5b8101908080519060200190929190505050836001830360ff16600281106131bc57fe5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612f16565b50509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61326d33600b600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16346109e2565b50565b6000809054906101000a900464ffffffffff1681565b600060098260ff168154811061329857fe5b906000526020600020015411613316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c6964206c6576656c0000000000000000000000000000000000000081525060200191505060405180910390fd5b60098160ff168154811061332657fe5b9060005260206000200154600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410156133e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e73756666696369656e742066756e6473000000000000000000000000000081525060200191505060405180910390fd5b60008160ff16148061346d575042600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006001840360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff16115b6134df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e6565642070726576696f7573206c6576656c0000000000000000000000000081525060200191505060405180910390fd5b60098160ff16815481106134ef57fe5b9060005260206000200154600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540392505081905550600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506000809054906101000a900464ffffffffff1664ffffffffff1642600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008460ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff161161366a57426136dd565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff165b01600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060006101000a81548164ffffffffff021916908364ffffffffff160217905550600060028260ff168161376657fe5b049050600060028360ff168161377857fe5b0690506000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff16600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613c1a575b42600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008660ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff1610156139fb578473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd55f679b71da2f77158d9c7cd414f2ec2a1daa61f8f5967a2813077131a7139f60098760ff168154811061396957fe5b906000526020600020015442604051808381526020018281526020019250505060405180910390a3600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050613891565b3073ffffffffffffffffffffffffffffffffffffffff16634aac86ba82856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060206040518083038186803b158015613a8657600080fd5b505afa158015613a9a573d6000803e3d6000fd5b505050506040513d6020811015613ab057600080fd5b8101908080519060200190929190505050905080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff168152602001908152602001600020859080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c97565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b60003073ffffffffffffffffffffffffffffffffffffffff1663b2f229c88386866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060206040518083038186803b158015613d3257600080fd5b505afa158015613d46573d6000803e3d6000fd5b505050506040513d6020811015613d5c57600080fd5b81019080805190602001909291905050509050600060098660ff1681548110613d8157fe5b906000526020600020015490506007600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541115613f975780600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613e32826108c0565b8273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167ff0429333508e79ee59859f284cb562a38ad7b28fa9f4a6b67db7a3e663c0c13588600a60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008b60ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1642604051808460ff1660ff1681526020018364ffffffffff1664ffffffffff168152602001828152602001935050505060405180910390a38673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f0b88770f55d0bd5d68f2dc7c7ec98a8a72de2d36e91c7558e39041869909de8b8342604051808381526020018281526020019250505060405180910390a3614166565b80600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055508673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0b88770f55d0bd5d68f2dc7c7ec98a8a72de2d36e91c7558e39041869909de8b8342604051808381526020018281526020019250505060405180910390a35b50505050505050565b600860008154600101919050819055600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b6000600854815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f1314d425bd4ea7696c29199b00dd7fa74dd0e8fa62354930c431c39c37d2596360085442604051808381526020018281526020019250505060405180910390a35050565b600080600090506000841415614326576000915050614410565b6001830192506000600190505b60028160ff161161440a5742600a6000600b600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600083600288020360ff1660ff16815260200190815260200160002060009054906101000a900464ffffffffff1664ffffffffff1611156143fd578060030360ff16915061440a565b8080600101915050614333565b50809150505b92915050565b604051806102800160405280601490602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b604051806040016040528060029060208202803683378082019150509050509056fea2646970667358221220183deeda63d8b15cbe8310ce7cb56f71013b4ae7da2ab2fc4dea968e22395f2564736f6c634300060a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b534b919d7098f64d3e5a09f4e5a4cc6d166d75d000000000000000000000000ca8224854a3a2c03c793e49a727bcdb60d713be5000000000000000000000000ca63b978963e2dc5bd54cd4ca4d2226de739aeca0000000000000000000000007984806ee4e1d1a2beec76d2334f015af89c607c000000000000000000000000fd8ddbffdeb2915ae00981d0bfacc7ffb4abbd7b0000000000000000000000002beb516957a468e2452f3c108435df8f34fff7e4000000000000000000000000c50a9392390c55c10c5b11e3256ad56f529c42e7
-----Decoded View---------------
Arg [0] : _root (address): 0xb534b919D7098F64d3E5A09F4e5A4CC6D166D75d
Arg [1] : _techAccounts (address[6]): 0xCA8224854A3a2C03C793e49A727BCDB60D713Be5,0xca63B978963E2Dc5bD54cd4ca4d2226DE739AeCa,0x7984806ee4e1D1A2BeEC76d2334F015AF89C607C,0xfD8DdBffdeB2915aE00981d0bfACC7Ffb4ABbD7b,0x2BEB516957a468E2452F3c108435Df8f34Fff7e4,0xc50A9392390C55C10c5b11E3256Ad56f529C42E7
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000b534b919d7098f64d3e5a09f4e5a4cc6d166d75d
Arg [1] : 000000000000000000000000ca8224854a3a2c03c793e49a727bcdb60d713be5
Arg [2] : 000000000000000000000000ca63b978963e2dc5bd54cd4ca4d2226de739aeca
Arg [3] : 0000000000000000000000007984806ee4e1d1a2beec76d2334f015af89c607c
Arg [4] : 000000000000000000000000fd8ddbffdeb2915ae00981d0bfacc7ffb4abbd7b
Arg [5] : 0000000000000000000000002beb516957a468e2452f3c108435df8f34fff7e4
Arg [6] : 000000000000000000000000c50a9392390c55c10c5b11e3256ad56f529c42e7
Deployed Bytecode Sourcemap
27:10756:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3184:1;3161:5;:17;3167:10;3161:17;;;;;;;;;;;;;;;:20;;;:24;3153:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3257:9;3228:5;:17;3234:10;3228:17;;;;;;;;;;;;;;;:25;;;:38;;;;;;;;;;;3279:25;3293:10;3279:13;:25::i;:::-;27:10756;;3359:58;3369:10;3381:24;3396:8;;3381:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:24::i;:::-;3407:9;3359;:58::i;:::-;27:10756;615:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1973:466;;;;;;;;;;;;;:::i;:::-;;7149:77;;;;;;;;;;;;;:::i;:::-;;6377:540;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8224:1235;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7234:761;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8007:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6925:216;;;;;;;;;;;;;:::i;:::-;;510:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2447:660;;;;;;;;;;;;;:::i;:::-;;571:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;541:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9925:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10179:430;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;445:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6240:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;315:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5542:290;5603:7;5613:1;5603:11;;5599:226;5620:6;:13;;;;5616:1;:17;;;5599:226;;;5670:5;:12;5676:5;5670:12;;;;;;;;;;;;;;;:20;;;5658:6;5665:1;5658:9;;;;;;;;;;;;;;;;;;:32;5655:42;;;5692:5;;5655:42;5743:15;5717:5;:12;5723:5;5717:12;;;;;;;;;;;;;;;:20;;:23;5738:1;5717:23;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;5714:100;;;5779:19;5789:5;5796:1;5779:9;:19::i;:::-;5714:100;5635:3;;;;;;;5599:226;;;;5542:290;:::o;10617:161::-;10682:12;10756:2;10749:5;10745:14;10739:21;10731:29;;10716:55;;;:::o;5840:392::-;5953:1;5934:5;:12;5940:5;5934:12;;;;;;;;;;;;;;;:15;;;:20;5926:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6020:1;5999:5;:14;6005:7;5999:14;;;;;;;;;;;;;;;:17;;;:22;;5991:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6074:6;6081:1;6074:9;;;;;;;;;;;;;;;;6064:6;:19;;6056:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6151:6;6127:5;:12;6133:5;6127:12;;;;;;;;;;;;;;;:20;;;:30;;;;;;;;;;;6170:24;6179:5;6186:7;6170:8;:24::i;:::-;6205:19;6215:5;6222:1;6205:9;:19::i;:::-;5840:392;;;:::o;615:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;1973:466::-;1933:5;;;;;;;;;;;1919:19;;:10;:19;;;1911:28;;;;;;2040:5:::1;2030:15;;:6;;;;;;;;;;;:15;;;2022:34;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2071:7;2081:1:::0;2071:11:::1;;2067:331;2088:12;2084:1;:16;;;2067:331;;;2121:24;2130:5;2136:1;2130:8;;;;;;;;;;;;;;;;;;;;2140:4;;;;;;;;;;;2121:8;:24::i;:::-;2178:7;2188:1:::0;2178:11:::1;;2174:212;2195:6;:13;;;;2191:1;:17;;;2174:212;;;2270:2;2234:5;:15;2240:5;2246:1;2240:8;;;;;;;;;;;;;;;;;;;;2234:15;;;;;;;;;;;;;;;:23;;:26;2258:1;2234:26;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;2319:4;;;;;;;;;;;2295:65;;2309:5;2315:1;2309:8;;;;;;;;;;;;;;;;;;;;2295:65;;;2325:1;2328:5;:15;2334:5;2340:1;2334:8;;;;;;;;;;;;;;;;;;;;2328:15;;;;;;;;;;;;;;;:23;;:26;2352:1;2328:26;;;;;;;;;;;;;;;;;;;;;;;;;2356:3;2295:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2210:3;;;;;;;2174:212;;;;2102:3;;;;;;;2067:331;;;;2417:4;2408:6;;:13;;;;;;;;;;;;;;;;;;1973:466::o:0;7149:77::-;1933:5;;;;;;;;;;;1919:19;;:10;:19;;;1911:28;;;;;;7212:5:::1;;;;;;;;;;;7199:19;;;6377:540:::0;6470:1;6447:5;:17;6453:10;6447:17;;;;;;;;;;;;;;;:20;;;:24;6439:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6524:1;6515:6;:10;:46;;6537:5;:17;6543:10;6537:17;;;;;;;;;;;;;;;:24;;;6515:46;;;6528:6;6515:46;6506:55;;6592:5;:17;6598:10;6592:17;;;;;;;;;;;;;;;:24;;;6582:6;:34;;6574:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6696:6;6667:5;:17;6673:10;6667:17;;;;;;;;;;;;;;;:25;;;:35;;;;;;;;;;;6741:6;6713:5;:17;6719:10;6713:17;;;;;;;;;;;;;;;:24;;;:34;;;;;;;;;;;6772:10;6764:24;;:32;6789:6;6764:32;;;;;;;;;;;;;;;;;;;;;;;6760:86;;6813:4;;;;;;;;;;;:13;;:21;6827:6;6813:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6760:86;6885:10;6871:38;;;6897:6;6905:3;6871:38;;;;;;;;;;;;;;;;;;;;;;;;6377:540;:::o;8224:1235::-;8313:13;8328;8343:4;8362:8;8397:1;8392;8379:10;:14;8373:1;:21;:25;8362:36;;8409:17;8440:3;8429:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8409:35;;8455:17;8486:3;8475:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8455:35;;8562:1;8513:5;:21;8519:9;:14;8529:3;8519:14;;;;;;;;;;;;;;;;;;;;;8513:21;;;;;;;;;;;;;;;:31;;:39;8545:6;8513:39;;;;;;;;;;;;;;;:46;;;;:50;8512:109;;8620:1;8512:109;;;8566:5;:49;8572:5;:21;8578:9;:14;8588:3;8578:14;;;;;;;;;;;;;;;;;;;;;8572:21;;;;;;;;;;;;;;;:31;;:39;8604:6;8572:39;;;;;;;;;;;;;;;8612:1;8572:42;;;;;;;;;;;;;;;;;;;;;;;;;8566:49;;;;;;;;;;;;;;;:52;;;8512:109;8503:3;8507:1;8503:6;;;;;;;;;;;;;:118;;;;;8691:1;8642:5;:21;8648:9;:14;8658:3;8648:14;;;;;;;;;;;;;;;;;;;;;8642:21;;;;;;;;;;;;;;;:31;;:39;8674:6;8642:39;;;;;;;;;;;;;;;:46;;;;:50;8641:109;;8749:1;8641:109;;;8695:5;:49;8701:5;:21;8707:9;:14;8717:3;8707:14;;;;;;;;;;;;;;;;;;;;;8701:21;;;;;;;;;;;;;;;:31;;:39;8733:6;8701:39;;;;;;;;;;;;;;;8741:1;8701:42;;;;;;;;;;;;;;;;;;;;;;;;;8695:49;;;;;;;;;;;;;;;:52;;;8641:109;8632:3;8636:1;8632:6;;;;;;;;;;;;;:118;;;;;8770:27;8782:3;8786:1;8782:6;;;;;;;;;;;;;;8790;8770:11;:27::i;:::-;8761:3;8765:1;8761:6;;;;;;;;;;;;;:36;;;;;8817:27;8829:3;8833:1;8829:6;;;;;;;;;;;;;;8837;8817:11;:27::i;:::-;8808:3;8812:1;8808:6;;;;;;;;;;;;;:36;;;;;8862:6;8871:1;8862:10;;8857:499;8897:1;8884:10;8879:1;:15;:19;8874:1;:25;8857:499;;;8935:1;8931;8927;:5;:9;8921:15;;9015:1;8963:5;:24;8969:9;:17;8979:3;8983:1;8979:6;;;;;;;;;;;;;;8969:17;;;;;;;;;;;;;;;;;;;;;8963:24;;;;;;;;;;;;;;;:34;;:42;8998:6;8963:42;;;;;;;;;;;;;;;:49;;;;:53;8962:116;;9077:1;8962:116;;;9019:5;:52;9025:5;:24;9031:9;:17;9041:3;9045:1;9041:6;;;;;;;;;;;;;;9031:17;;;;;;;;;;;;;;;;;;;;;9025:24;;;;;;;;;;;;;;;:34;;:42;9060:6;9025:42;;;;;;;;;;;;;;;9068:1;9025:45;;;;;;;;;;;;;;;;;;;;;;;;;9019:52;;;;;;;;;;;;;;;:55;;;8962:116;8951:3;8955;8951:8;;;;;;;;;;;;;:127;;;;;9161:1;9109:5;:24;9115:9;:17;9125:3;9129:1;9125:6;;;;;;;;;;;;;;9115:17;;;;;;;;;;;;;;;;;;;;;9109:24;;;;;;;;;;;;;;;:34;;:42;9144:6;9109:42;;;;;;;;;;;;;;;:49;;;;:53;9108:116;;9223:1;9108:116;;;9165:5;:52;9171:5;:24;9177:9;:17;9187:3;9191:1;9187:6;;;;;;;;;;;;;;9177:17;;;;;;;;;;;;;;;;;;;;;9171:24;;;;;;;;;;;;;;;:34;;:42;9206:6;9171:42;;;;;;;;;;;;;;;9214:1;9171:45;;;;;;;;;;;;;;;;;;;;;;;;;9165:52;;;;;;;;;;;;;;;:55;;;9108:116;9093:3;9103:1;9097:3;:7;9093:12;;;;;;;;;;;;;:131;;;;;9250:30;9262:3;9266;9262:8;;;;;;;;;;;;;;9272:6;9250:11;:30::i;:::-;9239:3;9243;9239:8;;;;;;;;;;;;;:41;;;;;9310:34;9322:3;9332:1;9326:3;:7;9322:12;;;;;;;;;;;;;;9336:6;9310:11;:34::i;:::-;9295:3;9305:1;9299:3;:7;9295:12;;;;;;;;;;;;;:49;;;;;8901:3;;;;;;;8857:499;;;;9376:11;9390:24;9402:3;9407:6;9390:11;:24::i;:::-;9376:38;;9434:3;9439;9444:6;9427:24;;;;;;;;;;8224:1235;;;;;;;:::o;7234:761::-;7309:7;7372:1;7332:5;:12;7338:5;7332:12;;;;;;;;;;;;;;;:22;;:30;7355:6;7332:30;;;;;;;;;;;;;;;:37;;;;:41;7329:58;;;7382:5;7375:12;;;;7329:58;7400:21;7438:4;7424:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7400:43;;7474:5;:12;7480:5;7474:12;;;;;;;;;;;;;;;:22;;:30;7497:6;7474:30;;;;;;;;;;;;;;;7505:1;7474:33;;;;;;;;;;;;;;;;;;;;;;;;;7464:4;7469:1;7464:7;;;;;;;;;;;;;:43;;;;;;;;;;;7528:5;:12;7534:5;7528:12;;;;;;;;;;;;;;;:22;;:30;7551:6;7528:30;;;;;;;;;;;;;;;7559:1;7528:33;;;;;;;;;;;;;;;;;;;;;;;;;7518:4;7523:1;7518:7;;;;;;;;;;;;;:43;;;;;;;;;;;7578:8;7589:1;7578:12;;7574:375;7596:4;7592:1;:8;;;7574:375;;;7667:1;7625:5;:14;7631:4;7636:1;7631:7;;;;;;;;;;;;;;;;7625:14;;;;;;;;;;;;;;;:24;;:32;7650:6;7625:32;;;;;;;;;;;;;;;:39;;;;:43;7622:97;;;7696:4;7701:1;7696:7;;;;;;;;;;;;;;;;7689:14;;;;;;7622:97;7742:3;7738:1;:7;;;7735:203;;;7766:8;7787:1;7782;7778;:5;7777:11;7766:22;;7819:5;:14;7825:4;7830:1;7825:7;;;;;;;;;;;;;;;;7819:14;;;;;;;;;;;;;;;:24;;:32;7844:6;7819:32;;;;;;;;;;;;;;;7852:1;7819:35;;;;;;;;;;;;;;;;;;;;;;;;;7809:4;7814:1;7809:7;;;;;;;;;;;;;;;:45;;;;;;;;;;;7887:5;:14;7893:4;7898:1;7893:7;;;;;;;;;;;;;;;;7887:14;;;;;;;;;;;;;;;:24;;:32;7912:6;7887:32;;;;;;;;;;;;;;;7920:1;7887:35;;;;;;;;;;;;;;;;;;;;;;;;;7873:4;7882:1;7878;:5;7873:11;;;;;;;;;;;;;;;:49;;;;;;;;;;;7735:203;;7602:3;;;;;;;7574:375;;;;7961:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7234:761;;;;;:::o;8007:205::-;8060:22;;:::i;:::-;8100:7;8110:1;8100:11;;8096:107;8117:2;8113:1;:6;;;8096:107;;;8158:5;:21;8164:9;:14;8174:3;8164:14;;;;;;;;;;;;;;;;;;;;;8158:21;;;;;;;;;;;;;;;:29;;:32;8188:1;8158:32;;;;;;;;;;;;;;;;;;;;;;;;;8141:4;8146:1;8141:7;;;;;;;;;;;;:50;;;;;;;;;;;8121:3;;;;;;;8096:107;;;;8007:205;;;:::o;6925:216::-;1933:5;;;;;;;;;;;1919:19;;:10;:19;;;1911:28;;;;;;6971:4:::1;;;;;;;;;;;:13;;:34;6985:5;:11;6991:4;;;;;;;;;;;6985:11;;;;;;;;;;;;;;;:19;;;6971:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7038:1;7016:5;:11;7022:4;;;;;;;;;;;7016:11;;;;;;;;;;;;;;;:19;;:23;;;;7071:1;7050:5;:11;7056:4;;;;;;;;;;;7050:11;;;;;;;;;;;;;;;:18;;:22;;;;7102:4;;;;;;;;;;;7088:45;;;7108:5;:11;7114:4;;;;;;;;;;;7108:11;;;;;;;;;;;;;;;:19;;;7129:3;7088:45;;;;;;;;;;;;;;;;;;;;;;;;6925:216::o:0;510:22::-;;;;:::o;2447:660::-;1933:5;;;;;;;;;;;1919:19;;:10;:19;;;1911:28;;;;;;2515:5:::1;2505:15;;:6;;;;;;;;;;;:15;;;2497:34;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2546:7;2556:1:::0;2546:11:::1;;2542:531;2563:2;2559:1;:6;;;2542:531;;;2590:7;2600:1:::0;2590:11:::1;;2586:476;2607:12;2603:1;:16;;;2586:476;;;2644:14;2661:5;:15;2667:5;2673:1;2667:8;;;;;;;;;;;;;;;;;;;;2661:15;;;;;;;;;;;;;;;:23;;;;;;;;;;;;2644:40;;2762:1;2724:40;;:5;:15;2730:5;2736:1;2730:8;;;;;;;;;;;;;;;;;;;;2724:15;;;;;;;;;;;;;;;:23;;:26;2748:1;2724:26;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;2721:323;;;2802:4;:21;;;2824:6;2832:1;2802:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;2793:41;;2896:6;2867:5;:15;2873:5;2879:1;2873:8;;;;;;;;;;;;;;;;;;;;2867:15;;;;;;;;;;;;;;;:23;;:26;2891:1;2867:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;2925:5;:13;2931:6;2925:13;;;;;;;;;;;;;;;:23;;:26;2949:1;2925:26;;;;;;;;;;;;;;;2957:5;2963:1;2957:8;;;;;;;;;;;;;;;;;;;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2721:323;;;3018:5;:15;3024:5;3030:1;3024:8;;;;;;;;;;;;;;;;;;;;3018:15;;;;;;;;;;;;;;;:23;;:26;3042:1;3018:26;;;;;;;;;;;;;;;;;;;;;;;;;3009:35;;2721:323;2586:476;2621:3;;;;;;;2586:476;;;;2567:3;;;;;;;2542:531;;;;3095:4;3086:6;;:13;;;;;;;;;;;;;;;;;;2447:660::o:0;571:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;541:23::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9925:246::-;10011:7;10043:4;;;;;;;;;;;10034:13;;:5;:13;;;:29;;;;10062:1;10051:7;:12;;;10034:29;10031:46;;;10072:5;10065:12;;;;10031:46;10097:4;:15;;;10113:5;:12;10119:5;10113:12;;;;;;;;;;;;;;;:20;;:28;10134:6;10113:28;;;;;;;;;;;;;;;;;;;;;;;;;10143:6;10161:1;10151:7;:11;10097:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10090:73;;9925:246;;;;;;:::o;10179:430::-;10246:22;;:::i;:::-;10270:32;;:::i;:::-;10315:7;10325:5;10315:15;;10345:7;10355:1;10345:11;;10341:251;10363:1;10358;:6;;;10341:251;;10393:5;:46;10399:5;:23;10405:9;:16;10415:5;10405:16;;;;;;;;;;;;;;;;;;;;;10399:23;;;;;;;;;;;;;;;:31;;:39;10431:6;10399:39;;;;;;;;;;;;;;;;;;;;;;;;;10393:46;;;;;;;;;;;;;;;:49;;;10385:57;;10474:5;:23;10480:9;:16;10490:5;10480:16;;;;;;;;;;;;;;;;;;;;;10474:23;;;;;;;;;;;;;;;:26;;;10457:7;10469:1;10465;:5;10457:14;;;;;;;;;;;;:43;;;;;10539:4;:15;;;10555:9;:13;10565:2;10555:13;;;;;;;;;;;;;;;;;;;;;10570:6;10578:1;10539:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10515:14;10534:1;10530;:5;10515:21;;;;;;;;;;;;:65;;;;;;;;;;;10366:3;;;;;;;10341:251;;;;10179:430;;;;;;:::o;445:27::-;;;;;;;;;;;;;:::o;6240:129::-;6306:55;6316:10;6328:9;:21;6338:10;6328:21;;;;;;;;;;;;;;;;;;;;;6351:9;6306;:55::i;:::-;6240:129;:::o;315:39::-;;;;;;;;;;;;;:::o;3691:1843::-;3783:1;3766:6;3773;3766:14;;;;;;;;;;;;;;;;;;:18;3758:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3845:6;3852;3845:14;;;;;;;;;;;;;;;;;;3821:5;:12;3827:5;3821:12;;;;;;;;;;;;;;;:20;;;:38;;3813:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3911:1;3901:6;:11;;;:65;;;;3951:15;3916:5;:12;3922:5;3916:12;;;;;;;;;;;;;;;:20;;:32;3946:1;3937:6;:10;3916:32;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;3901:65;3893:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4035:6;4042;4035:14;;;;;;;;;;;;;;;;;;4011:5;:12;4017:5;4011:12;;;;;;;;;;;;;;;:20;;;:38;;;;;;;;;;;4082:5;:12;4088:5;4082:12;;;;;;;;;;;;;;;:20;;;4060:5;:12;4066:5;4060:12;;;;;;;;;;;;;;;:19;;:42;;;;4251:15;;;;;;;;;;;4151:115;;4183:15;4152:5;:12;4158:5;4152:12;;;;;;;;;;;;;;;:20;;:28;4173:6;4152:28;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;:95;;4232:15;4152:95;;;4201:5;:12;4207:5;4201:12;;;;;;;;;;;;;;;:20;;:28;4222:6;4201:28;;;;;;;;;;;;;;;;;;;;;;;;;4152:95;;;4151:115;4113:5;:12;4119:5;4113:12;;;;;;;;;;;;;;;:20;;:28;4134:6;4113:28;;;;;;;;;;;;;;;;:154;;;;;;;;;;;;;;;;;;4288:11;4311:1;4302:6;:10;;;;;;;;4288:24;;4323:12;4347:1;4338:6;:10;;;;;;;;4323:25;;4359:14;4376:5;:12;4382:5;4376:12;;;;;;;;;;;;;;;:20;;;;;;;;;;;;4359:37;;4451:1;4412:41;;:5;:12;4418:5;4412:12;;;;;;;;;;;;;;;:20;;:27;4433:5;4412:27;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;4409:492;;;4470:197;4508:15;4476:5;:13;4482:6;4476:13;;;;;;;;;;;;;;;:21;;:29;4498:6;4476:29;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;4470:197;;;4573:5;4549:51;;4565:6;4549:51;;;4580:6;4587;4580:14;;;;;;;;;;;;;;;;;;4596:3;4549:51;;;;;;;;;;;;;;;;;;;;;;;;4630:5;:13;4636:6;4630:13;;;;;;;;;;;;;;;:21;;;;;;;;;;;;4621:30;;4470:197;;;4692:4;:21;;;4714:6;4722:5;4692:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4683:45;;4775:6;4745:5;:12;4751:5;4745:12;;;;;;;;;;;;;;;:20;;:27;4766:5;4745:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;4796:5;:13;4802:6;4796:13;;;;;;;;;;;;;;;:23;;:30;4820:5;4796:30;;;;;;;;;;;;;;;4832:5;4796:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:492;;;4874:5;:12;4880:5;4874:12;;;;;;;;;;;;;;;:20;;:27;4895:5;4874:27;;;;;;;;;;;;;;;;;;;;;;;;;4865:36;;4409:492;4914:16;4954:4;:15;;;4970:6;4978:5;4985:6;4954:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4943:49;;5007:13;5023:6;5030;5023:14;;;;;;;;;;;;;;;;;;5007:30;;5074:1;5053:5;:15;5059:8;5053:15;;;;;;;;;;;;;;;:18;;;:22;5050:455;;;5118:5;5091;:15;5097:8;5091:15;;;;;;;;;;;;;;;:23;;;:32;;;;;;;;;;;5138:23;5152:8;5138:13;:23::i;:::-;5202:6;5181:71;;5195:5;5181:71;;;5210:6;5218:5;:12;5224:5;5218:12;;;;;;;;;;;;;;;:20;;:28;5239:6;5218:28;;;;;;;;;;;;;;;;;;;;;;;;;5248:3;5181:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5294:5;5272:40;;5284:8;5272:40;;;5301:5;5308:3;5272:40;;;;;;;;;;;;;;;;;;;;;;;;5050:455;;;5377:5;5354;:11;5360:4;;;;;;;;;;;5354:11;;;;;;;;;;;;;;;:19;;;:28;;;;;;;;;;;5418:5;:11;5424:4;;;;;;;;;;;5418:11;;;;;;;;;;;;;;;:19;;;5397:5;:11;5403:4;;;;;;;;;;;5397:11;;;;;;;;;;;;;;;:18;;:40;;;;5475:5;5457:36;;5469:4;;;;;;;;;;;5457:36;;;5482:5;5489:3;5457:36;;;;;;;;;;;;;;;;;;;;;;;;5050:455;3691:1843;;;;;;;:::o;3433:250::-;3523:7;;3521:9;;;;;;;;;;3503:5;:12;3509:5;3503:12;;;;;;;;;;;;;;;:15;;:27;;;;3564:8;3541:5;:12;3547:5;3541:12;;;;;;;;;;;;;;;:20;;;:31;;;;;;;;;;;;;;;;;;3604:5;3583:9;:18;3593:7;;3583:18;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3652:8;3627:48;;3645:5;3627:48;;;3662:7;;3671:3;3627:48;;;;;;;;;;;;;;;;;;;;;;;;3433:250;;:::o;9467:450::-;9534:4;9550:8;9561:1;9550:12;;9584:1;9577:3;:8;9573:22;;;9594:1;9587:8;;;;;9573:22;9624:1;9615:6;:10;9606:19;;9710:7;9720:1;9710:11;;9705:184;9728:1;9723;:6;;;9705:184;;9803:3;9755:5;:21;9761:9;:14;9771:3;9761:14;;;;;;;;;;;;;;;;;;;;;9755:21;;;;;;;;;;;;;;;:29;;:45;9798:1;9794;9785:6;:10;:14;9755:45;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;9751:127;;;9837:1;9833;:5;9827:11;;;;9857:5;;9751:127;9731:3;;;;;;;9705:184;;;;9906:3;9899:10;;;9467:450;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://183deeda63d8b15cbe8310ce7cb56f71013b4ae7da2ab2fc4dea968e22395f25
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,644.26 | 4.95 | $18,039.11 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.