More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x451e626351623a3bee2a538a544967536c3dbd3cdbe7ccce90836cdf53a8b305 | Push | (pending) | 37 hrs ago | IN | 0 ETH | (Pending) | |||
Pull | 21520963 | 30 days ago | IN | 0 ETH | 0.00071785 | ||||
Warn | 21510378 | 31 days ago | IN | 0 ETH | 0.00021827 | ||||
Pull | 21510375 | 31 days ago | IN | 0 ETH | 0.00023842 | ||||
Lock | 21504351 | 32 days ago | IN | 0 ETH | 0.00012476 | ||||
Push | 21504168 | 32 days ago | IN | 0 ETH | 0.0003123 | ||||
Warn | 21504155 | 32 days ago | IN | 0 ETH | 0.00026254 | ||||
Lock | 21504122 | 32 days ago | IN | 0 ETH | 0.00013857 | ||||
Push | 21504087 | 32 days ago | IN | 0 ETH | 0.00076265 | ||||
Warn | 21504077 | 32 days ago | IN | 0 ETH | 0.00019055 | ||||
Warn | 21504066 | 32 days ago | IN | 0 ETH | 0.00028334 | ||||
Grab | 21231958 | 70 days ago | IN | 0 ETH | 0.00113696 | ||||
Pull | 21220999 | 72 days ago | IN | 0 ETH | 0.00047335 | ||||
Push | 20871921 | 120 days ago | IN | 0 ETH | 0.00145587 | ||||
Grab | 20510090 | 171 days ago | IN | 0 ETH | 0.00011273 | ||||
Grab | 20495518 | 173 days ago | IN | 0 ETH | 0.0001154 | ||||
Grab | 20382820 | 189 days ago | IN | 0 ETH | 0.0002846 | ||||
Grab | 20292555 | 201 days ago | IN | 0 ETH | 0.00025015 | ||||
Push | 20200576 | 214 days ago | IN | 0 ETH | 0.00016139 | ||||
Grab | 19947591 | 249 days ago | IN | 0 ETH | 0.00059615 | ||||
Warn | 19857987 | 262 days ago | IN | 0 ETH | 0.00013956 | ||||
Warn | 19857974 | 262 days ago | IN | 0 ETH | 0.00018891 | ||||
Grab | 19767629 | 275 days ago | IN | 0 ETH | 0.00090233 | ||||
Grab | 19767223 | 275 days ago | IN | 0 ETH | 0.00087894 | ||||
Grab | 19767119 | 275 days ago | IN | 0 ETH | 0.00139543 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
OrchidLottery
Compiler Version
v0.5.13+commit.5b0b510c
Contract Source Code (Solidity Standard Json-Input format)
/* Orchid - WebRTC P2P VPN Market (on Ethereum) * Copyright (C) 2017-2019 The Orchid Authors */ /* GNU Affero General Public License, Version 3 {{{ */ /* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. **/ /* }}} */ pragma solidity 0.5.13; interface IERC20 { function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); } interface OrchidVerifier { function book(bytes calldata shared, address target, bytes calldata receipt) external pure; } contract OrchidLottery { IERC20 internal token_; constructor(IERC20 token) public { token_ = token; } function what() external view returns (IERC20) { return token_; } struct Pot { uint256 offset_; uint128 amount_; uint128 escrow_; uint256 unlock_; OrchidVerifier verify_; bytes32 codehash_; bytes shared_; } event Update(address indexed funder, address indexed signer, uint128 amount, uint128 escrow, uint256 unlock); function send(address funder, address signer, Pot storage pot) private { emit Update(funder, signer, pot.amount_, pot.escrow_, pot.unlock_); } struct Lottery { address[] keys_; mapping(address => Pot) pots_; } mapping(address => Lottery) internal lotteries_; function find(address funder, address signer) private view returns (Pot storage) { return lotteries_[funder].pots_[signer]; } function kill(address signer) external { address funder = msg.sender; Lottery storage lottery = lotteries_[funder]; Pot storage pot = lottery.pots_[signer]; require(pot.offset_ != 0); if (pot.verify_ != OrchidVerifier(0)) emit Bound(funder, signer); address key = lottery.keys_[lottery.keys_.length - 1]; lottery.pots_[key].offset_ = pot.offset_; lottery.keys_[pot.offset_ - 1] = key; --lottery.keys_.length; delete lottery.pots_[signer]; send(funder, signer, pot); } function size(address funder) external view returns (uint256) { return lotteries_[funder].keys_.length; } function keys(address funder) external view returns (address[] memory) { return lotteries_[funder].keys_; } function seek(address funder, uint256 offset) external view returns (address) { return lotteries_[funder].keys_[offset]; } function page(address funder, uint256 offset, uint256 count) external view returns (address[] memory) { address[] storage all = lotteries_[funder].keys_; require(offset <= all.length); if (count > all.length - offset) count = all.length - offset; address[] memory slice = new address[](count); for (uint256 i = 0; i != count; ++i) slice[i] = all[offset + i]; return slice; } function look(address funder, address signer) external view returns (uint128, uint128, uint256, OrchidVerifier, bytes32, bytes memory) { Pot storage pot = lotteries_[funder].pots_[signer]; return (pot.amount_, pot.escrow_, pot.unlock_, pot.verify_, pot.codehash_, pot.shared_); } event Create(address indexed funder, address indexed signer); function push(address signer, uint128 total, uint128 escrow) external { address funder = msg.sender; require(total >= escrow); Pot storage pot = find(funder, signer); if (pot.offset_ == 0) { pot.offset_ = lotteries_[funder].keys_.push(signer); emit Create(funder, signer); } pot.amount_ += total - escrow; pot.escrow_ += escrow; send(funder, signer, pot); require(token_.transferFrom(funder, address(this), total)); } function move(address signer, uint128 amount) external { address funder = msg.sender; Pot storage pot = find(funder, signer); require(pot.amount_ >= amount); pot.amount_ -= amount; pot.escrow_ += amount; send(funder, signer, pot); } function burn(address signer, uint128 escrow) external { address funder = msg.sender; Pot storage pot = find(funder, signer); if (escrow > pot.escrow_) escrow = pot.escrow_; pot.escrow_ -= escrow; send(funder, signer, pot); } event Bound(address indexed funder, address indexed signer); function bind(address signer, OrchidVerifier verify, bytes calldata shared) external { address funder = msg.sender; Pot storage pot = find(funder, signer); require(pot.escrow_ == 0); bytes32 codehash; assembly { codehash := extcodehash(verify) } pot.verify_ = verify; pot.codehash_ = codehash; pot.shared_ = shared; emit Bound(funder, signer); } struct Track { uint256 until_; } mapping(address => mapping(bytes32 => Track)) internal tracks_; function take(address funder, address signer, address payable recipient, uint128 amount, bytes memory receipt) private { Pot storage pot = find(funder, signer); uint128 cache = pot.amount_; if (cache >= amount) { cache -= amount; pot.amount_ = cache; emit Update(funder, signer, cache, pot.escrow_, pot.unlock_); } else { amount = cache; pot.amount_ = 0; pot.escrow_ = 0; emit Update(funder, signer, 0, 0, pot.unlock_); } OrchidVerifier verify = pot.verify_; bytes32 codehash; bytes memory shared; if (verify != OrchidVerifier(0)) { codehash = pot.codehash_; shared = pot.shared_; } if (amount != 0) require(token_.transfer(recipient, amount)); if (verify != OrchidVerifier(0)) { bytes32 current; assembly { current := extcodehash(verify) } if (codehash == current) verify.book(shared, recipient, receipt); } } // the arguments to this function are carefully ordered for stack depth optimization // this function was marked public, instead of external, for lower stack depth usage function grab( bytes32 reveal, bytes32 commit, uint256 issued, bytes32 nonce, uint8 v, bytes32 r, bytes32 s, uint128 amount, uint128 ratio, uint256 start, uint128 range, address funder, address payable recipient, bytes memory receipt, bytes32[] memory old ) public { require(keccak256(abi.encode(reveal)) == commit); require(uint128(uint256(keccak256(abi.encode(reveal, issued, nonce)))) <= ratio); // this variable is being reused because I do not have even one extra stack slot bytes32 ticket; assembly { ticket := chainid() } // keccak256("Orchid.grab") == 0x8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b29425708700645 ticket = keccak256(abi.encode(bytes32(uint256(0x8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b29425708700645)), commit, issued, nonce, address(this), ticket, amount, ratio, start, range, funder, recipient, receipt)); address signer = ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", ticket)), v, r, s); require(signer != address(0)); { mapping(bytes32 => Track) storage tracks = tracks_[recipient]; { Track storage track = tracks[keccak256(abi.encode(signer, ticket))]; uint256 until = start + range; require(until > block.timestamp); require(track.until_ == 0); track.until_ = until; } for (uint256 i = 0; i != old.length; ++i) { Track storage track = tracks[old[i]]; if (track.until_ <= block.timestamp) delete track.until_; } } if (start < block.timestamp) { uint128 limit = uint128(uint256(amount) * (range - (block.timestamp - start)) / range); if (amount > limit) amount = limit; } take(funder, signer, recipient, amount, receipt); } function give(address funder, address payable recipient, uint128 amount, bytes calldata receipt) external { address signer = msg.sender; take(funder, signer, recipient, amount, receipt); } function warn(address signer) external { address funder = msg.sender; Pot storage pot = find(funder, signer); pot.unlock_ = block.timestamp + 1 days; send(funder, signer, pot); } function lock(address signer) external { address funder = msg.sender; Pot storage pot = find(funder, signer); pot.unlock_ = 0; send(funder, signer, pot); } function pull(address signer, address payable target, bool autolock, uint128 amount, uint128 escrow) external { address funder = msg.sender; Pot storage pot = find(funder, signer); if (amount > pot.amount_) amount = pot.amount_; if (escrow > pot.escrow_) escrow = pot.escrow_; if (escrow != 0) require(pot.unlock_ - 1 < block.timestamp); uint128 total = amount + escrow; pot.amount_ -= amount; pot.escrow_ -= escrow; if (autolock && pot.escrow_ == 0) pot.unlock_ = 0; send(funder, signer, pot); if (total != 0) require(token_.transfer(target, total)); } function yank(address signer, address payable target, bool autolock) external { address funder = msg.sender; Pot storage pot = find(funder, signer); if (pot.escrow_ != 0) require(pot.unlock_ - 1 < block.timestamp); uint128 total = pot.amount_ + pot.escrow_; pot.amount_ = 0; pot.escrow_ = 0; if (autolock) pot.unlock_ = 0; send(funder, signer, pot); require(token_.transfer(target, total)); } }
{ "evmVersion": "istanbul", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"funder","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"}],"name":"Bound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"funder","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"}],"name":"Create","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"funder","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"escrow","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"unlock","type":"uint256"}],"name":"Update","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"contract OrchidVerifier","name":"verify","type":"address"},{"internalType":"bytes","name":"shared","type":"bytes"}],"name":"bind","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint128","name":"escrow","type":"uint128"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"bytes","name":"receipt","type":"bytes"}],"name":"give","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"reveal","type":"bytes32"},{"internalType":"bytes32","name":"commit","type":"bytes32"},{"internalType":"uint256","name":"issued","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint128","name":"range","type":"uint128"},{"internalType":"address","name":"funder","type":"address"},{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"bytes","name":"receipt","type":"bytes"},{"internalType":"bytes32[]","name":"old","type":"bytes32[]"}],"name":"grab","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"}],"name":"keys","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"address","name":"signer","type":"address"}],"name":"look","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract OrchidVerifier","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"page","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address payable","name":"target","type":"address"},{"internalType":"bool","name":"autolock","type":"bool"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"escrow","type":"uint128"}],"name":"pull","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint128","name":"total","type":"uint128"},{"internalType":"uint128","name":"escrow","type":"uint128"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"seek","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"}],"name":"size","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"warn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"what","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address payable","name":"target","type":"address"},{"internalType":"bool","name":"autolock","type":"bool"}],"name":"yank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161304f38038061304f8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612fbb806100946000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806373fb4644116100a2578063cbf0b0c011610071578063cbf0b0c014610985578063dc9efbab146109c9578063e53b3f6d14610a9e578063f435f5a714610ae2578063f8825a0c14610b265761010b565b806373fb4644146107bf578063889870681461083b578063a6cbd6e314610893578063b24bb8451461093b5761010b565b8063670d14b2116100de578063670d14b21461058b5780636bbe03cf146106245780636cc20fc0146106b25780637261e4691461075f5761010b565b8063043d695f146101105780631554ad5d146101705780635f51b34e146102e457806366458bbd14610354575b600080fd5b61016e6004803603604081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050610bdf565b005b6101d26004803603604081101561018657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d0c565b60405180876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001866fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102a4578082015181840152602081019050610289565b50505050905090810190601f1680156102d15780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610352600480360360608110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ec1565b005b61058960048036036101e081101561036b57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184602083028401116401000000008311171561053a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611103565b005b6105cd600480360360208110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611689565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106105780820151818401526020810190506105f5565b505050509050019250505060405180910390f35b6106706004803603604081101561063a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611759565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610708600480360360608110156106c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506117db565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561074b578082015181840152602081019050610730565b505050509050019250505060405180910390f35b6107bd6004803603604081101561077557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611924565b005b610839600480360360608110156107d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611a14565b005b61087d6004803603602081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d6b565b6040518082815260200191505060405180910390f35b610939600480360360a08110156108a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611dba565b005b610943612117565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109c76004803603602081101561099b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612140565b005b610a9c600480360360808110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a5857600080fd5b820183602082011115610a6a57600080fd5b80359060200191846001830284011164010000000083111715610a8c57600080fd5b9091929391929390505050612488565b005b610ae060048036036020811015610ab457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124e6565b005b610b2460048036036020811015610af857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612517565b005b610bdd60048036036060811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610b9957600080fd5b820183602082011115610bab57600080fd5b80359060200191846001830284011164010000000083111715610bcd57600080fd5b9091929391929390505050612544565b005b60003390506000610bf0828561265f565b9050826fffffffffffffffffffffffffffffffff168160010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610c4357600080fd5b828160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610d068285836126e8565b50505050565b600080600080600060606000600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a90046fffffffffffffffffffffffffffffffff168160010160109054906101000a90046fffffffffffffffffffffffffffffffff1682600201548360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846004015485600501808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea35780601f10610e7857610100808354040283529160200191610ea3565b820191906000526020600020905b815481529060010190602001808311610e8657829003601f168201915b50505050509050965096509650965096509650509295509295509295565b60003390506000610ed2828661265f565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614610f225742600182600201540310610f2157600080fd5b5b60008160010160109054906101000a90046fffffffffffffffffffffffffffffffff168260010160009054906101000a90046fffffffffffffffffffffffffffffffff1601905060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508315610ff257600082600201819055505b610ffd8387846126e8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156110b757600080fd5b505af11580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b81019080805190602001909291905050506110fb57600080fd5b505050505050565b8d8f60405160200180828152602001915050604051602081830303815290604052805190602001201461113557600080fd5b866fffffffffffffffffffffffffffffffff168f8e8e6040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012060001c6fffffffffffffffffffffffffffffffff16111561119f57600080fd5b60004690507f8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b2942570870064560001b8f8f8f30858e8e8e8e8e8e8e604051602001808e81526020018d81526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001898152602001886fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001868152602001856fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561134f578082015181840152602081019050611334565b50505050905090810190601f16801561137c5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050604051602081830303815290604052805190602001209050600060018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001208e8e8e60405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611452573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561149857600080fd5b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160008486604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405160208183030381529060405280519060200120815260200190815260200160002090506000896fffffffffffffffffffffffffffffffff168b01905042811161157057600080fd5b600082600001541461158157600080fd5b808260000181905550505060008090505b845181146115e35760008260008784815181106115ab57fe5b602002602001015181526020019081526020016000209050428160000154116115d75780600001600090555b50806001019050611592565b505042881015611669576000876fffffffffffffffffffffffffffffffff16894203896fffffffffffffffffffffffffffffffff16038c6fffffffffffffffffffffffffffffffff16028161163457fe5b049050806fffffffffffffffffffffffffffffffff168b6fffffffffffffffffffffffffffffffff16111561166757809a505b505b6116768682878d886127ee565b5050505050505050505050505050505050565b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561174d57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611703575b50505050509050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106117a857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60606000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019050808054905084111561183457600080fd5b8381805490500383111561184c578381805490500392505b60608360405190808252806020026020018201604052801561187d5781602001602082028038833980820191505090505b50905060008090505b84811461191757828187018154811061189b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168282815181106118d257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806001019050611886565b5080925050509392505050565b60003390506000611935828561265f565b90508060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1611156119a7578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611a0e8285836126e8565b50505050565b6000339050816fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161015611a4a57600080fd5b6000611a56828661265f565b9050600081600001541415611b6d57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600001819055508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f96b5b9b8a7193304150caccf9b80d150675fa3d6af57761d8d8ef1d6f9a1a90960405160405180910390a35b8284038160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611c328286836126e8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d2057600080fd5b505af1158015611d34573d6000803e3d6000fd5b505050506040513d6020811015611d4a57600080fd5b8101908080519060200190929190505050611d6457600080fd5b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60003390506000611dcb828861265f565b90508060010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff161115611e3d578060010160009054906101000a90046fffffffffffffffffffffffffffffffff1693505b8060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161115611ead578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b6000836fffffffffffffffffffffffffffffffff1614611edb5742600182600201540310611eda57600080fd5b5b60008385019050848260010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550838260010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550858015611fd9575060008260010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16145b15611fe957600082600201819055505b611ff48389846126e8565b6000816fffffffffffffffffffffffffffffffff161461210d576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156120c857600080fd5b505af11580156120dc573d6000803e3d6000fd5b505050506040513d60208110156120f257600080fd5b810190808051906020019092919050505061210c57600080fd5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003390506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156121df57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612292578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a35b6000826000016001846000018054905003815481106122ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600001548360010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550808360000160018460000154038154811061233e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600001805460019003908161239c9190612e6d565b508260010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556001820160106101000a8154906fffffffffffffffffffffffffffffffff021916905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006124749190612e99565b50506124818486846126e8565b5050505050565b60003390506124de8682878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506127ee565b505050505050565b600033905060006124f7828461265f565b905062015180420181600201819055506125128284836126e8565b505050565b60003390506000612528828461265f565b90506000816002018190555061253f8284836126e8565b505050565b60003390506000612555828761265f565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161461259657600080fd5b6000853f9050858260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080826004018190555084848360050191906125fb929190612ee1565b508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a350505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc8360010160009054906101000a90046fffffffffffffffffffffffffffffffff168460010160109054906101000a90046fffffffffffffffffffffffffffffffff16856002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3505050565b60006127fa868661265f565b905060008160010160009054906101000a90046fffffffffffffffffffffffffffffffff169050836fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610612972578381039050808260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc838560010160109054906101000a90046fffffffffffffffffffffffffffffffff16866002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3612a8c565b80935060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc600080866002015460405180846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a35b60008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006060600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612b945784600401549150846005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b8c5780601f10612b6157610100808354040283529160200191612b8c565b820191906000526020600020905b815481529060010190602001808311612b6f57829003601f168201915b505050505090505b6000876fffffffffffffffffffffffffffffffff1614612cad576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015612c6857600080fd5b505af1158015612c7c573d6000803e3d6000fd5b505050506040513d6020811015612c9257600080fd5b8101908080519060200190929190505050612cac57600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e61576000833f905080831415612e5f578373ffffffffffffffffffffffffffffffffffffffff1663fe4e5b96838b8a6040518463ffffffff1660e01b815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001838103835286818151815260200191508051906020019080838360005b83811015612d93578082015181840152602081019050612d78565b50505050905090810190601f168015612dc05780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612df9578082015181840152602081019050612dde565b50505050905090810190601f168015612e265780820380516001836020036101000a031916815260200191505b509550505050505060006040518083038186803b158015612e4657600080fd5b505afa158015612e5a573d6000803e3d6000fd5b505050505b505b50505050505050505050565b815481835581811115612e9457818360005260206000209182019101612e939190612f61565b5b505050565b50805460018160011615610100020316600290046000825580601f10612ebf5750612ede565b601f016020900490600052602060002090810190612edd9190612f61565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f2257803560ff1916838001178555612f50565b82800160010185558215612f50579182015b82811115612f4f578235825591602001919060010190612f34565b5b509050612f5d9190612f61565b5090565b612f8391905b80821115612f7f576000816000905550600101612f67565b5090565b9056fea265627a7a72315820c9bf82b853458d8c02c2b7b81698742d5ee966eeefc4c7336cd65a429f2ba77464736f6c634300050d00320000000000000000000000004575f41308ec1483f3d399aa9a2826d74da13deb
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806373fb4644116100a2578063cbf0b0c011610071578063cbf0b0c014610985578063dc9efbab146109c9578063e53b3f6d14610a9e578063f435f5a714610ae2578063f8825a0c14610b265761010b565b806373fb4644146107bf578063889870681461083b578063a6cbd6e314610893578063b24bb8451461093b5761010b565b8063670d14b2116100de578063670d14b21461058b5780636bbe03cf146106245780636cc20fc0146106b25780637261e4691461075f5761010b565b8063043d695f146101105780631554ad5d146101705780635f51b34e146102e457806366458bbd14610354575b600080fd5b61016e6004803603604081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050610bdf565b005b6101d26004803603604081101561018657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d0c565b60405180876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001866fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102a4578082015181840152602081019050610289565b50505050905090810190601f1680156102d15780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610352600480360360608110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ec1565b005b61058960048036036101e081101561036b57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184602083028401116401000000008311171561053a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611103565b005b6105cd600480360360208110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611689565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106105780820151818401526020810190506105f5565b505050509050019250505060405180910390f35b6106706004803603604081101561063a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611759565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610708600480360360608110156106c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506117db565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561074b578082015181840152602081019050610730565b505050509050019250505060405180910390f35b6107bd6004803603604081101561077557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611924565b005b610839600480360360608110156107d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611a14565b005b61087d6004803603602081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d6b565b6040518082815260200191505060405180910390f35b610939600480360360a08110156108a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611dba565b005b610943612117565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109c76004803603602081101561099b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612140565b005b610a9c600480360360808110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a5857600080fd5b820183602082011115610a6a57600080fd5b80359060200191846001830284011164010000000083111715610a8c57600080fd5b9091929391929390505050612488565b005b610ae060048036036020811015610ab457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124e6565b005b610b2460048036036020811015610af857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612517565b005b610bdd60048036036060811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610b9957600080fd5b820183602082011115610bab57600080fd5b80359060200191846001830284011164010000000083111715610bcd57600080fd5b9091929391929390505050612544565b005b60003390506000610bf0828561265f565b9050826fffffffffffffffffffffffffffffffff168160010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610c4357600080fd5b828160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610d068285836126e8565b50505050565b600080600080600060606000600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a90046fffffffffffffffffffffffffffffffff168160010160109054906101000a90046fffffffffffffffffffffffffffffffff1682600201548360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846004015485600501808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea35780601f10610e7857610100808354040283529160200191610ea3565b820191906000526020600020905b815481529060010190602001808311610e8657829003601f168201915b50505050509050965096509650965096509650509295509295509295565b60003390506000610ed2828661265f565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614610f225742600182600201540310610f2157600080fd5b5b60008160010160109054906101000a90046fffffffffffffffffffffffffffffffff168260010160009054906101000a90046fffffffffffffffffffffffffffffffff1601905060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508315610ff257600082600201819055505b610ffd8387846126e8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156110b757600080fd5b505af11580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b81019080805190602001909291905050506110fb57600080fd5b505050505050565b8d8f60405160200180828152602001915050604051602081830303815290604052805190602001201461113557600080fd5b866fffffffffffffffffffffffffffffffff168f8e8e6040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012060001c6fffffffffffffffffffffffffffffffff16111561119f57600080fd5b60004690507f8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b2942570870064560001b8f8f8f30858e8e8e8e8e8e8e604051602001808e81526020018d81526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001898152602001886fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001868152602001856fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561134f578082015181840152602081019050611334565b50505050905090810190601f16801561137c5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050604051602081830303815290604052805190602001209050600060018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001208e8e8e60405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611452573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561149857600080fd5b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160008486604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405160208183030381529060405280519060200120815260200190815260200160002090506000896fffffffffffffffffffffffffffffffff168b01905042811161157057600080fd5b600082600001541461158157600080fd5b808260000181905550505060008090505b845181146115e35760008260008784815181106115ab57fe5b602002602001015181526020019081526020016000209050428160000154116115d75780600001600090555b50806001019050611592565b505042881015611669576000876fffffffffffffffffffffffffffffffff16894203896fffffffffffffffffffffffffffffffff16038c6fffffffffffffffffffffffffffffffff16028161163457fe5b049050806fffffffffffffffffffffffffffffffff168b6fffffffffffffffffffffffffffffffff16111561166757809a505b505b6116768682878d886127ee565b5050505050505050505050505050505050565b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561174d57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611703575b50505050509050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106117a857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60606000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019050808054905084111561183457600080fd5b8381805490500383111561184c578381805490500392505b60608360405190808252806020026020018201604052801561187d5781602001602082028038833980820191505090505b50905060008090505b84811461191757828187018154811061189b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168282815181106118d257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806001019050611886565b5080925050509392505050565b60003390506000611935828561265f565b90508060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1611156119a7578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611a0e8285836126e8565b50505050565b6000339050816fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161015611a4a57600080fd5b6000611a56828661265f565b9050600081600001541415611b6d57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600001819055508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f96b5b9b8a7193304150caccf9b80d150675fa3d6af57761d8d8ef1d6f9a1a90960405160405180910390a35b8284038160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611c328286836126e8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d2057600080fd5b505af1158015611d34573d6000803e3d6000fd5b505050506040513d6020811015611d4a57600080fd5b8101908080519060200190929190505050611d6457600080fd5b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60003390506000611dcb828861265f565b90508060010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff161115611e3d578060010160009054906101000a90046fffffffffffffffffffffffffffffffff1693505b8060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161115611ead578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b6000836fffffffffffffffffffffffffffffffff1614611edb5742600182600201540310611eda57600080fd5b5b60008385019050848260010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550838260010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550858015611fd9575060008260010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16145b15611fe957600082600201819055505b611ff48389846126e8565b6000816fffffffffffffffffffffffffffffffff161461210d576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156120c857600080fd5b505af11580156120dc573d6000803e3d6000fd5b505050506040513d60208110156120f257600080fd5b810190808051906020019092919050505061210c57600080fd5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003390506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156121df57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612292578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a35b6000826000016001846000018054905003815481106122ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600001548360010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550808360000160018460000154038154811061233e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600001805460019003908161239c9190612e6d565b508260010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556001820160106101000a8154906fffffffffffffffffffffffffffffffff021916905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560048201600090556005820160006124749190612e99565b50506124818486846126e8565b5050505050565b60003390506124de8682878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506127ee565b505050505050565b600033905060006124f7828461265f565b905062015180420181600201819055506125128284836126e8565b505050565b60003390506000612528828461265f565b90506000816002018190555061253f8284836126e8565b505050565b60003390506000612555828761265f565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161461259657600080fd5b6000853f9050858260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080826004018190555084848360050191906125fb929190612ee1565b508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a350505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc8360010160009054906101000a90046fffffffffffffffffffffffffffffffff168460010160109054906101000a90046fffffffffffffffffffffffffffffffff16856002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3505050565b60006127fa868661265f565b905060008160010160009054906101000a90046fffffffffffffffffffffffffffffffff169050836fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610612972578381039050808260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc838560010160109054906101000a90046fffffffffffffffffffffffffffffffff16866002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3612a8c565b80935060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc600080866002015460405180846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a35b60008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006060600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612b945784600401549150846005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b8c5780601f10612b6157610100808354040283529160200191612b8c565b820191906000526020600020905b815481529060010190602001808311612b6f57829003601f168201915b505050505090505b6000876fffffffffffffffffffffffffffffffff1614612cad576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015612c6857600080fd5b505af1158015612c7c573d6000803e3d6000fd5b505050506040513d6020811015612c9257600080fd5b8101908080519060200190929190505050612cac57600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e61576000833f905080831415612e5f578373ffffffffffffffffffffffffffffffffffffffff1663fe4e5b96838b8a6040518463ffffffff1660e01b815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001838103835286818151815260200191508051906020019080838360005b83811015612d93578082015181840152602081019050612d78565b50505050905090810190601f168015612dc05780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612df9578082015181840152602081019050612dde565b50505050905090810190601f168015612e265780820380516001836020036101000a031916815260200191505b509550505050505060006040518083038186803b158015612e4657600080fd5b505afa158015612e5a573d6000803e3d6000fd5b505050505b505b50505050505050505050565b815481835581811115612e9457818360005260206000209182019101612e939190612f61565b5b505050565b50805460018160011615610100020316600290046000825580601f10612ebf5750612ede565b601f016020900490600052602060002090810190612edd9190612f61565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f2257803560ff1916838001178555612f50565b82800160010185558215612f50579182015b82811115612f4f578235825591602001919060010190612f34565b5b509050612f5d9190612f61565b5090565b612f8391905b80821115612f7f576000816000905550600101612f67565b5090565b9056fea265627a7a72315820c9bf82b853458d8c02c2b7b81698742d5ee966eeefc4c7336cd65a429f2ba77464736f6c634300050d0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004575f41308ec1483f3d399aa9a2826d74da13deb
-----Decoded View---------------
Arg [0] : token (address): 0x4575f41308EC1483f3d399aa9a2826d74Da13Deb
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004575f41308ec1483f3d399aa9a2826d74da13deb
Deployed Bytecode Sourcemap
1193:9623:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1193:9623:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4500:284;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4500:284:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3604:299;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3604:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3604:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10322:492;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10322:492:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6961:2012;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6961:2012:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6961:2012:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6961:2012:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6961:2012:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6961:2012:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6961:2012:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6961:2012:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6961:2012:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6961:2012:0;;;;;;;;;;;;;;;:::i;:::-;;2882:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2882:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2882:119:0;;;;;;;;;;;;;;;;;3007:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3007:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3147:450;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3147:450:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3147:450:0;;;;;;;;;;;;;;;;;4790:281;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4790:281:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3977:517;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3977:517:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2759:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2759:117:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9611:705;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9611:705:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1322:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2181:571;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2181:571:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8979:208;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8979:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8979:208:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8979:208:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8979:208:0;;;;;;;;;;;;:::i;:::-;;9194:214;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9194:214:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9414:191;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9414:191:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5143:424;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5143:424:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5143:424:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5143:424:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5143:424:0;;;;;;;;;;;;:::i;:::-;;4500:284;4565:14;4582:10;4565:27;;4602:15;4620:20;4625:6;4633;4620:4;:20::i;:::-;4602:38;;4673:6;4658:21;;:3;:11;;;;;;;;;;;;:21;;;;4650:30;;;;;;4705:6;4690:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4736:6;4721:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4752:25;4757:6;4765;4773:3;4752:4;:25::i;:::-;4500:284;;;;:::o;3604:299::-;3673:7;3682;3691;3700:14;3716:7;3725:12;3749:15;3767:10;:18;3778:6;3767:18;;;;;;;;;;;;;;;:24;;:32;3792:6;3767:32;;;;;;;;;;;;;;;3749:50;;3817:3;:11;;;;;;;;;;;;3830:3;:11;;;;;;;;;;;;3843:3;:11;;;3856:3;:11;;;;;;;;;;;;3869:3;:13;;;3884:3;:11;;3809:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:299;;;;;;;;:::o;10322:492::-;10410:14;10427:10;10410:27;;10447:15;10465:20;10470:6;10478;10465:4;:20::i;:::-;10447:38;;10514:1;10499:3;:11;;;;;;;;;;;;:16;;;10495:76;;10555:15;10551:1;10537:3;:11;;;:15;:33;10529:42;;;;;;10495:76;10581:13;10611:3;:11;;;;;;;;;;;;10597:3;:11;;;;;;;;;;;;:25;10581:41;;10646:1;10632:3;:11;;;:15;;;;;;;;;;;;;;;;;;10671:1;10657:3;:11;;;:15;;;;;;;;;;;;;;;;;;10686:8;10682:41;;;10722:1;10708:3;:11;;:15;;;;10682:41;10733:25;10738:6;10746;10754:3;10733:4;:25::i;:::-;10776:6;;;;;;;;;;;:15;;;10792:6;10800:5;10776:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10776:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10776:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10776:30:0;;;;;;;;;;;;;;;;10768:39;;;;;;10322:492;;;;;;:::o;6961:2012::-;7337:6;7325;7314:18;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7314:18:0;;;7304:29;;;;;;:39;7296:48;;;;;;7428:5;7362:71;;7399:6;7407;7415:5;7388:33;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7388:33:0;;;7378:44;;;;;;7370:53;;7362:71;;;;7354:80;;;;;;7534:14;7571:9;7561:19;;7743:66;7727:84;;7825:6;7833;7841:5;7856:4;7863:6;7871;7879:5;7886;7893;7900:6;7908:9;7919:7;7716:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7716:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7716:211:0;;;7706:222;;;;;;7697:231;;7938:14;7955:91;8028:6;7975:60;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7975:60:0;;;7965:71;;;;;;8038:1;8041;8044;7955:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7955:91:0;;;;;;;;7938:108;;8082:1;8064:20;;:6;:20;;;;8056:29;;;;;;8110:40;8153:7;:18;8161:9;8153:18;;;;;;;;;;;;;;;8110:61;;8204:19;8226:6;:45;8254:6;8262;8243:26;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8243:26:0;;;8233:37;;;;;;8226:45;;;;;;;;;;;8204:67;;8289:13;8313:5;8305:13;;:5;:13;8289:29;;8352:15;8344:5;:23;8336:32;;;;;;8410:1;8394:5;:12;;;:17;8386:26;;;;;;8445:5;8430;:12;;:20;;;;6961:2012;;8484:9;8496:1;8484:13;;8479:205;8504:3;:10;8499:1;:15;8479:205;;8539:19;8561:6;:14;8568:3;8572:1;8568:6;;;;;;;;;;;;;;8561:14;;;;;;;;;;;8539:36;;8613:15;8597:5;:12;;;:31;8593:76;;8657:5;:12;;8650:19;;;8593:76;8479:205;8516:3;;;;;8479:205;;;;6961:2012;8716:15;8708:5;:23;8704:204;;;8747:13;8827:5;8771:61;;8817:5;8799:15;:23;8790:5;:33;;;8779:6;8771:15;;:53;:61;;;;;;8747:86;;8860:5;8851:14;;:6;:14;;;8847:50;;;8892:5;8883:14;;8847:50;8704:204;;8918:48;8923:6;8931;8939:9;8950:6;8958:7;8918:4;:48::i;:::-;6961:2012;;;;;;;;;;;;;;;;;:::o;2882:119::-;2935:16;2970:10;:18;2981:6;2970:18;;;;;;;;;;;;;;;:24;;2963:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:119;;;:::o;3007:134::-;3076:7;3102:10;:18;3113:6;3102:18;;;;;;;;;;;;;;;:24;;3127:6;3102:32;;;;;;;;;;;;;;;;;;;;;;;;;3095:39;;3007:134;;;;:::o;3147:450::-;3231:16;3259:21;3283:10;:18;3294:6;3283:18;;;;;;;;;;;;;;;:24;;3259:48;;3335:3;:10;;;;3325:6;:20;;3317:29;;;;;;3381:6;3368:3;:10;;;;:19;3360:5;:27;3356:72;;;3422:6;3409:3;:10;;;;:19;3401:27;;3356:72;3438:22;3477:5;3463:20;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3463:20:0;;;;3438:45;;3498:9;3510:1;3498:13;;3493:75;3518:5;3513:1;:10;3493:75;;3553:3;3566:1;3557:6;:10;3553:15;;;;;;;;;;;;;;;;;;;;;;;;;3542:5;3548:1;3542:8;;;;;;;;;;;;;:26;;;;;;;;;;;3525:3;;;;;3493:75;;;;3585:5;3578:12;;;;3147:450;;;;;:::o;4790:281::-;4855:14;4872:10;4855:27;;4892:15;4910:20;4915:6;4923;4910:4;:20::i;:::-;4892:38;;4953:3;:11;;;;;;;;;;;;4944:20;;:6;:20;;;4940:58;;;4987:3;:11;;;;;;;;;;;;4978:20;;4940:58;5023:6;5008:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5039:25;5044:6;5052;5060:3;5039:4;:25::i;:::-;4790:281;;;;:::o;3977:517::-;4057:14;4074:10;4057:27;;4111:6;4102:15;;:5;:15;;;;4094:24;;;;;;4128:15;4146:20;4151:6;4159;4146:4;:20::i;:::-;4128:38;;4195:1;4180:3;:11;;;:16;4176:139;;;4226:10;:18;4237:6;4226:18;;;;;;;;;;;;;;;:24;;4256:6;4226:37;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4226:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4212:3;:11;;:51;;;;4297:6;4282:22;;4289:6;4282:22;;;;;;;;;;;;4176:139;4347:6;4339:5;:14;4324:3;:11;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4378:6;4363:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4394:25;4399:6;4407;4415:3;4394:4;:25::i;:::-;4437:6;;;;;;;;;;;:19;;;4457:6;4473:4;4480:5;4437:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4437:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4437:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4437:49:0;;;;;;;;;;;;;;;;4429:58;;;;;;3977:517;;;;;:::o;2759:117::-;2812:7;2838:10;:18;2849:6;2838:18;;;;;;;;;;;;;;;:24;;:31;;;;2831:38;;2759:117;;;:::o;9611:705::-;9731:14;9748:10;9731:27;;9768:15;9786:20;9791:6;9799;9786:4;:20::i;:::-;9768:38;;9829:3;:11;;;;;;;;;;;;9820:20;;:6;:20;;;9816:58;;;9863:3;:11;;;;;;;;;;;;9854:20;;9816:58;9897:3;:11;;;;;;;;;;;;9888:20;;:6;:20;;;9884:58;;;9931:3;:11;;;;;;;;;;;;9922:20;;9884:58;9966:1;9956:6;:11;;;9952:71;;10007:15;10003:1;9989:3;:11;;;:15;:33;9981:42;;;;;;9952:71;10033:13;10058:6;10049;:15;10033:31;;10089:6;10074:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10120:6;10105:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10140:8;:28;;;;;10167:1;10152:3;:11;;;;;;;;;;;;:16;;;10140:28;10136:61;;;10196:1;10182:3;:11;;:15;;;;10136:61;10207:25;10212:6;10220;10228:3;10207:4;:25::i;:::-;10255:1;10246:5;:10;;;10242:67;;10278:6;;;;;;;;;;;:15;;;10294:6;10302:5;10278:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10278:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10278:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10278:30:0;;;;;;;;;;;;;;;;10270:39;;;;;;10242:67;9611:705;;;;;;;;:::o;1322:77::-;1361:6;1386;;;;;;;;;;;1379:13;;1322:77;:::o;2181:571::-;2230:14;2247:10;2230:27;;2267:23;2293:10;:18;2304:6;2293:18;;;;;;;;;;;;;;;2267:44;;2321:15;2339:7;:13;;:21;2353:6;2339:21;;;;;;;;;;;;;;;2321:39;;2393:1;2378:3;:11;;;:16;;2370:25;;;;;;2439:1;2409:32;;:3;:11;;;;;;;;;;;;:32;;;2405:76;;2474:6;2460:21;;2466:6;2460:21;;;;;;;;;;;;2405:76;2491:11;2505:7;:13;;2542:1;2519:7;:13;;:20;;;;:24;2505:39;;;;;;;;;;;;;;;;;;;;;;;;;2491:53;;2583:3;:11;;;2554:7;:13;;:18;2568:3;2554:18;;;;;;;;;;;;;;;:26;;:40;;;;2637:3;2604:7;:13;;2632:1;2618:3;:11;;;:15;2604:30;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;2652:7;:13;;2650:22;;;;;;;;;;;:::i;:::-;;2689:7;:13;;:21;2703:6;2689:21;;;;;;;;;;;;;;;;2682:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2720:25;2725:6;2733;2741:3;2720:4;:25::i;:::-;2181:571;;;;;:::o;8979:208::-;9095:14;9112:10;9095:27;;9132:48;9137:6;9145;9153:9;9164:6;9172:7;;9132:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9132:48:0;;;;;;:4;:48::i;:::-;8979:208;;;;;;:::o;9194:214::-;9243:14;9260:10;9243:27;;9280:15;9298:20;9303:6;9311;9298:4;:20::i;:::-;9280:38;;9360:6;9342:15;:24;9328:3;:11;;:38;;;;9376:25;9381:6;9389;9397:3;9376:4;:25::i;:::-;9194:214;;;:::o;9414:191::-;9463:14;9480:10;9463:27;;9500:15;9518:20;9523:6;9531;9518:4;:20::i;:::-;9500:38;;9562:1;9548:3;:11;;:15;;;;9573:25;9578:6;9586;9594:3;9573:4;:25::i;:::-;9414:191;;;:::o;5143:424::-;5238:14;5255:10;5238:27;;5275:15;5293:20;5298:6;5306;5293:4;:20::i;:::-;5275:38;;5346:1;5331:3;:11;;;;;;;;;;;;:16;;;5323:25;;;;;;5359:16;5420:6;5408:19;5396:31;;5453:6;5439:3;:11;;;:20;;;;;;;;;;;;;;;;;;5485:8;5469:3;:13;;:24;;;;5517:6;;5503:3;:11;;:20;;;;;;;:::i;:::-;;5553:6;5539:21;;5545:6;5539:21;;;;;;;;;;;;5143:424;;;;;;;:::o;2038:137::-;2106:11;2136:10;:18;2147:6;2136:18;;;;;;;;;;;;;;;:24;;:32;2161:6;2136:32;;;;;;;;;;;;;;;2129:39;;2038:137;;;;:::o;1730:154::-;1831:6;1816:61;;1823:6;1816:61;;;1839:3;:11;;;;;;;;;;;;1852:3;:11;;;;;;;;;;;;1865:3;:11;;;1816:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1730:154;;;:::o;5694:1083::-;5823:15;5841:20;5846:6;5854;5841:4;:20::i;:::-;5823:38;;5872:13;5888:3;:11;;;;;;;;;;;;5872:27;;5923:6;5914:15;;:5;:15;;;5910:331;;5954:6;5945:15;;;;5988:5;5974:3;:11;;;:19;;;;;;;;;;;;;;;;;;6027:6;6012:55;;6019:6;6012:55;;;6035:5;6042:3;:11;;;;;;;;;;;;6055:3;:11;;;6012:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:331;;;6107:5;6098:14;;6140:1;6126:3;:11;;;:15;;;;;;;;;;;;;;;;;;6169:1;6155:3;:11;;;:15;;;;;;;;;;;;;;;;;;6204:6;6189:41;;6196:6;6189:41;;;6212:1;6215;6218:3;:11;;;6189:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:331;6251:21;6275:3;:11;;;;;;;;;;;;6251:35;;6296:16;6322:19;6380:1;6355:27;;:6;:27;;;6351:116;;6409:3;:13;;;6398:24;;6445:3;:11;;6436:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6351:116;6491:1;6481:6;:11;;;6477:72;;6514:6;;;;;;;;;;;:15;;;6530:9;6541:6;6514:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6514:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6514:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6514:34:0;;;;;;;;;;;;;;;;6506:43;;;;;;6477:72;6589:1;6564:27;;:6;:27;;;6560:211;;6607:15;6658:6;6646:19;6635:30;;6696:7;6684:8;:19;6680:80;;;6721:6;:11;;;6733:6;6741:9;6752:7;6721:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6721:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6721:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6721:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6721:39:0;;;;6680:80;6560:211;;5694:1083;;;;;;;;;;:::o;1193:9623::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://c9bf82b853458d8c02c2b7b81698742d5ee966eeefc4c7336cd65a429f2ba774
Loading...
Loading
Loading...
Loading
OVERVIEW
The nanopayment contract for layer 2 payments in Orchid.Loading...
Loading
[ 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.