Polygon Sponsored slots available. Book your slot here!
Overview
POL Balance
0 POL
POL Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 78 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Merkle Ro... | 45534920 | 507 days ago | IN | 0 POL | 0.00293231 | ||||
Update Merkle Ro... | 44608808 | 530 days ago | IN | 0 POL | 0.00322505 | ||||
Purchase POE | 41029538 | 623 days ago | IN | 0 POL | 0.00561568 | ||||
Update Merkle Ro... | 40993049 | 623 days ago | IN | 0 POL | 0.00240181 | ||||
Update Merkle Ro... | 40650613 | 632 days ago | IN | 0 POL | 0.00288478 | ||||
Update Merkle Ro... | 40387537 | 639 days ago | IN | 0 POL | 0.00176382 | ||||
Purchase POE | 37596234 | 711 days ago | IN | 0 POL | 0.00375309 | ||||
Purchase POE | 37592717 | 712 days ago | IN | 0 POL | 0.00437263 | ||||
Purchase POE | 37592638 | 712 days ago | IN | 0 POL | 0.00333378 | ||||
Update Merkle Ro... | 37076818 | 724 days ago | IN | 0 POL | 0.00122651 | ||||
Update Merkle Ro... | 37050539 | 725 days ago | IN | 0 POL | 0.00292686 | ||||
Update Merkle Ro... | 37024830 | 726 days ago | IN | 0 POL | 0.0022998 | ||||
Update Merkle Ro... | 36998916 | 726 days ago | IN | 0 POL | 0.00107636 | ||||
Update Merkle Ro... | 36665306 | 735 days ago | IN | 0 POL | 0.00135886 | ||||
Update Merkle Ro... | 35726167 | 758 days ago | IN | 0 POL | 0.0021824 | ||||
Purchase POE | 35624571 | 760 days ago | IN | 0 POL | 0.00290747 | ||||
Update Merkle Ro... | 35415978 | 765 days ago | IN | 0 POL | 0.00311302 | ||||
Update Merkle Ro... | 34556665 | 786 days ago | IN | 0 POL | 0.00296997 | ||||
Update Merkle Ro... | 34257684 | 794 days ago | IN | 0 POL | 0.00087984 | ||||
Update Merkle Ro... | 34161014 | 796 days ago | IN | 0 POL | 0.00087984 | ||||
Update Merkle Ro... | 34009732 | 800 days ago | IN | 0 POL | 0.00164392 | ||||
Update Merkle Ro... | 33998254 | 800 days ago | IN | 0 POL | 0.00087984 | ||||
Update Merkle Ro... | 33981980 | 800 days ago | IN | 0 POL | 0.00087984 | ||||
Update Merkle Ro... | 33746970 | 806 days ago | IN | 0 POL | 0.00087984 | ||||
Update Merkle Ro... | 33691954 | 807 days ago | IN | 0 POL | 0.00087984 |
Loading...
Loading
Contract Name:
SlimMerkleMinter
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-05-01 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev to mint POE tokens */ interface PoExtended{ function mint(address) external returns (bool); } /** * @title NFT * @dev ERC721 contract that holds the bonus NFTs */ interface INFT{ function balanceOf(address account, uint256 id) external view returns (uint256); } /** * @dev These functions deal with verification of Merkle Trees proofs. * * The proofs can be generated using the JavaScript library * https://github.com/miguelmota/merkletreejs[merkletreejs]. * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. * * See `test/utils/cryptography/MerkleProof.test.js` for some examples. */ library MerkleProof { /** * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree * defined by `root`. For this, a `proof` must be provided, containing * sibling hashes on the branch from the leaf to the root of the tree. Each * pair of leaves and each pair of pre-images are assumed to be sorted. */ function verify( bytes32[] memory proof, bytes32 root, bytes32 leaf ) internal pure returns (bool) { bytes32 computedHash = leaf; for (uint256 i = 0; i < proof.length; i++) { bytes32 proofElement = proof[i]; if (computedHash <= proofElement) { // Hash(current computed hash + current element of the proof) computedHash = keccak256(abi.encodePacked(computedHash, proofElement)); } else { // Hash(current element of the proof + current computed hash) computedHash = keccak256(abi.encodePacked(proofElement, computedHash)); } } // Check if the computed hash (root) is equal to the provided root return computedHash == root; } } /** * @title PoExtended * @author Carson Case [[email protected]] * @notice PoExtended is a POE token with owner delegated Admins and a merkle claim system */ /** * @title MerkleMinter * @author Carson Case > [email protected] * @author Zane Huffman > @jeffthedunker * @dev is ownable. For now, by deployer, but can be changed to DAO */ contract SlimMerkleMinter is Ownable{ using MerkleProof for bytes32[]; /// @dev the merkle root which CAN be updated bytes32 public merkleRoot; mapping(address => bool) admins; //Treasury address address payable public treasury; //Base commission rate for refferals. Decimal expressed as an interger with decimal at 10^3 place (1 = 0.1%, 10 = 1%). uint256 public baseCommission; //xGDAO address address public xGDAO; //POE address address public POEContract; //Cost to sign up uint256 public basePrice; //NFT bonus address address public bonusNFTAddress; //Free if a users holds this much xGDAO or more uint256 public minXGDAOFree; //Nft bonus info struct nftBonus{ uint128 id; //Decimal expressed as an interger with decimal at 10^18 place. uint128 multiplier; } //Array of NFT bonus info nftBonus[] bonusNFTs; /** * @notice arrays must have the same length * @param _treasury address to receive payments * @param _basePrice for starting price * @param _bonusNFTAddress to look up bonus NFTs * @param _commission base referral commission before bonus * @param _bonusNFTIDs ids of bonus NFTs (length must match multipliers) * @param _bonusNFTMultipliers multipliers of bonus NFTs (length must match IDs) 100% is 10^18 */ constructor( address payable _treasury, address _xGDAOAddress, uint256 _basePrice, address _bonusNFTAddress, uint256 _commission, uint128[] memory _bonusNFTIDs, uint128[] memory _bonusNFTMultipliers ) Ownable() { bonusNFTAddress = _bonusNFTAddress; _addBonusNFTs(_bonusNFTIDs, _bonusNFTMultipliers); treasury = _treasury; xGDAO = _xGDAOAddress; basePrice = _basePrice; baseCommission = _commission; } /// @dev some functions only callable by approved Admins modifier onlyAdmin(){ require(admins[msg.sender], "must be approved by owner to call this function"); _; } /// @dev only owner can add Admins function addAdmin(address _admin) external onlyOwner{ require(admins[_admin] != true, "Admin is already approved"); admins[_admin] = true; } /// @dev owner can remove them too function removeAdmin(address _admin) external onlyOwner{ require(admins[_admin] != false, "Admin is already not-approved"); admins[_admin] = false; } /// @dev A Admin can forefit their minting status (useful for contracts) function forefitAdminRole()external{ require(admins[msg.sender] == true, "msg.sender must be an approved Admin"); admins[msg.sender] = false; } /// @dev set xGDAO address function setXGDAOAddress(address _new) external onlyAdmin{ xGDAO = _new; } /// @dev set POE Contract address function setPOEContractAddress(address _new) external onlyAdmin{ POEContract = _new; } /// @dev set minXGDAO. If zero, no free amount function setMinXGDAOFree(uint _new) external onlyAdmin{ minXGDAOFree = _new; } function updateMerkleRoot(bytes32 _new) external onlyAdmin{ merkleRoot = _new; } /** * @notice purchase function. Can only be called once by an address * @param _referrer must have an auth token. Pass 0 address if no referrer */ function purchasePOE(address payable _referrer, /*bytes32 _hashedRef,*/ bytes32[] memory proof) external payable{ bytes32 leaf = keccak256(abi.encodePacked(msg.sender)); require(proof.verify(merkleRoot,leaf), "Address not eligible for claim"); address payable referrer = _referrer; uint256 price = basePrice; if(minXGDAOFree != 0 && IERC20(xGDAO).balanceOf(msg.sender) >= minXGDAOFree){ price = 0; } require(msg.sender != _referrer, "You cannot use yourself as a referrer"); require(msg.value == price, "You must pay the exact price to purchase. Call the getPrice() function to see the price in wei"); if(price > 0){ //Give commisson if there's a referrer if(referrer != address(0)) { //Calculate commission and subtract from price to avoid rounding errors uint256 commission = getCommission(price, referrer); referrer.transfer(commission); treasury.transfer(price-commission); //If not, treasury gets all the price }else{ treasury.transfer(price); } } //Mint a POE PoExtended(POEContract).mint(msg.sender); } /** * @notice for owner to change base commission * @param _new is new commission */ function changeBaseCommission(uint256 _new) external onlyOwner { baseCommission = _new; } /** * @notice for owner to change the price curve contract address * @param _new is the new address */ function setBasePrice(uint256 _new) external onlyAdmin{ basePrice = _new; } /** * @notice for owner to add some new bonus NFTs * @dev see _addBonusNFTs * @param _bonusNFTIDs array of IDs * @param _bonusNFTMultipliers array of multipliers */ function addBonusNFTs(uint128[] memory _bonusNFTIDs, uint128[] memory _bonusNFTMultipliers) public onlyOwner{ _addBonusNFTs(_bonusNFTIDs, _bonusNFTMultipliers); } /** * @notice function returns the commission based on base commission rate, NFT bonus, and price * @param _price is passed in, but should be calculated with getPrice() * @param _referrer is to look up NFT bonuses * @return the commission ammount */ function getCommission(uint256 _price, address _referrer) internal view returns(uint256){ uint128 bonus = getNFTBonus(_referrer); uint256 commission; if(bonus > 0){ commission = baseCommission + ((baseCommission * bonus) / 1000); }else{ commission = baseCommission; } return((_price * commission) / 1000); } /** * @notice function to get the NFT bonus of a person * @param _referrer is the referrer address * @return the sum of bonuses they own */ function getNFTBonus(address _referrer) public view returns(uint128){ uint128 bonus = 0; INFT nft = INFT(bonusNFTAddress); //Loop through nfts and add up bonuses that the referrer owns for(uint8 i = 0; i < bonusNFTs.length; i++){ if(nft.balanceOf(_referrer, bonusNFTs[i].id) > 0){ bonus += bonusNFTs[i].multiplier; } } return bonus; } /** * @notice private function to add new NFTs as bonuses * @param _bonusNFTIDs array of ids matching multipliers * @param _bonusNFTMultipliers array of multipliers matching ids */ function _addBonusNFTs(uint128[] memory _bonusNFTIDs, uint128[] memory _bonusNFTMultipliers) private{ require(_bonusNFTIDs.length == _bonusNFTMultipliers.length, "The array parameters must have the same length"); //Add all the NFTs for(uint8 i = 0; i < _bonusNFTIDs.length; i++){ bonusNFTs.push( nftBonus(_bonusNFTIDs[i],_bonusNFTMultipliers[i]) ); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"address","name":"_xGDAOAddress","type":"address"},{"internalType":"uint256","name":"_basePrice","type":"uint256"},{"internalType":"address","name":"_bonusNFTAddress","type":"address"},{"internalType":"uint256","name":"_commission","type":"uint256"},{"internalType":"uint128[]","name":"_bonusNFTIDs","type":"uint128[]"},{"internalType":"uint128[]","name":"_bonusNFTMultipliers","type":"uint128[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"POEContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128[]","name":"_bonusNFTIDs","type":"uint128[]"},{"internalType":"uint128[]","name":"_bonusNFTMultipliers","type":"uint128[]"}],"name":"addBonusNFTs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"baseCommission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bonusNFTAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"changeBaseCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forefitAdminRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_referrer","type":"address"}],"name":"getNFTBonus","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minXGDAOFree","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_referrer","type":"address"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"purchasePOE","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"removeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setBasePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setMinXGDAOFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_new","type":"address"}],"name":"setPOEContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_new","type":"address"}],"name":"setXGDAOAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_new","type":"bytes32"}],"name":"updateMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xGDAO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620030bd380380620030bd8339818101604052810190620000379190620004af565b620000576200004b6200014760201b60201c565b6200014f60201b60201c565b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000aa82826200021360201b60201c565b86600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460078190555082600481905550505050505050506200089b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80518251146200025a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025190620005c7565b60405180910390fd5b60005b82518160ff161015620003a057600a6040518060400160405280858460ff168151811062000290576200028f62000761565b5b60200260200101516fffffffffffffffffffffffffffffffff168152602001848460ff1681518110620002c857620002c762000761565b5b60200260200101516fffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050508080620003979062000703565b9150506200025d565b505050565b6000620003bc620003b68462000612565b620005e9565b90508083825260208201905082856020860282011115620003e257620003e1620007c4565b5b60005b85811015620004165781620003fb888262000481565b845260208401935060208301925050600181019050620003e5565b5050509392505050565b600081519050620004318162000833565b92915050565b60008151905062000448816200084d565b92915050565b600082601f830112620004665762000465620007bf565b5b815162000478848260208601620003a5565b91505092915050565b600081519050620004928162000867565b92915050565b600081519050620004a98162000881565b92915050565b600080600080600080600060e0888a031215620004d157620004d0620007ce565b5b6000620004e18a828b0162000437565b9750506020620004f48a828b0162000420565b9650506040620005078a828b0162000498565b95505060606200051a8a828b0162000420565b94505060806200052d8a828b0162000498565b93505060a088015167ffffffffffffffff811115620005515762000550620007c9565b5b6200055f8a828b016200044e565b92505060c088015167ffffffffffffffff811115620005835762000582620007c9565b5b620005918a828b016200044e565b91505092959891949750929550565b6000620005af602e8362000641565b9150620005bc82620007e4565b604082019050919050565b60006020820190508181036000830152620005e281620005a0565b9050919050565b6000620005f562000608565b9050620006038282620006cd565b919050565b6000604051905090565b600067ffffffffffffffff82111562000630576200062f62000790565b5b602082029050602081019050919050565b600082825260208201905092915050565b60006200065f8262000696565b9050919050565b6000620006738262000696565b9050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b620006d882620007d3565b810181811067ffffffffffffffff82111715620006fa57620006f962000790565b5b80604052505050565b60006200071082620006c0565b915060ff82141562000727576200072662000732565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54686520617272617920706172616d6574657273206d7573742068617665207460008201527f68652073616d65206c656e677468000000000000000000000000000000000000602082015250565b6200083e8162000652565b81146200084a57600080fd5b50565b620008588162000666565b81146200086457600080fd5b50565b62000872816200067a565b81146200087e57600080fd5b50565b6200088c81620006b6565b81146200089857600080fd5b50565b61281280620008ab6000396000f3fe6080604052600436106101405760003560e01c80638c229c01116100b6578063e03481e11161006f578063e03481e1146103ed578063eb81ceee14610418578063f2fde38b14610441578063f974fbf71461046a578063f9ff8da114610495578063fed1fee0146104ac57610140565b80638c229c01146102f15780638da5cb5b1461031c578063abafcf3b14610347578063bbff2e7c14610370578063c7876ea414610399578063de4b3262146103c457610140565b806361d027b31161010857806361d027b3146102165780637048027514610241578063715018a61461026a57806383cefc7214610281578063851dfeef1461029d5780638678e2a2146102c857610140565b80631785f53c146101455780632eb4a7ab1461016e5780633ae2909d146101995780634783f0ef146101c2578063490f25d3146101eb575b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190611a94565b6104e9565b005b34801561017a57600080fd5b50610183610654565b6040516101909190611ed5565b60405180910390f35b3480156101a557600080fd5b506101c060048036038101906101bb9190611bef565b61065a565b005b3480156101ce57600080fd5b506101e960048036038101906101e49190611bc2565b6106f0565b005b3480156101f757600080fd5b50610200610786565b60405161020d919061204b565b60405180910390f35b34801561022257600080fd5b5061022b61078c565b6040516102389190611e91565b60405180910390f35b34801561024d57600080fd5b5061026860048036038101906102639190611a94565b6107b2565b005b34801561027657600080fd5b5061027f61091d565b005b61029b60048036038101906102969190611ac1565b6109a5565b005b3480156102a957600080fd5b506102b2610dd8565b6040516102bf919061204b565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190611a94565b610dde565b005b3480156102fd57600080fd5b50610306610eae565b6040516103139190611e76565b60405180910390f35b34801561032857600080fd5b50610331610ed4565b60405161033e9190611e76565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611a94565b610efd565b005b34801561037c57600080fd5b5061039760048036038101906103929190611b1d565b610fcd565b005b3480156103a557600080fd5b506103ae611057565b6040516103bb919061204b565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e69190611bef565b61105d565b005b3480156103f957600080fd5b506104026110f3565b60405161040f9190611e76565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a9190611bef565b611119565b005b34801561044d57600080fd5b5061046860048036038101906104639190611a94565b61119f565b005b34801561047657600080fd5b5061047f611297565b60405161048c9190611e76565b60405180910390f35b3480156104a157600080fd5b506104aa6112bd565b005b3480156104b857600080fd5b506104d360048036038101906104ce9190611a94565b6113aa565b6040516104e09190612030565b60405180910390f35b6104f161152a565b73ffffffffffffffffffffffffffffffffffffffff1661050f610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c90611f70565b60405180910390fd5b60001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f090611f50565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60015481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd90611fd0565b60405180910390fd5b8060098190555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611fd0565b60405180910390fd5b8060018190555050565b60095481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107ba61152a565b73ffffffffffffffffffffffffffffffffffffffff166107d8610ed4565b73ffffffffffffffffffffffffffffffffffffffff161461082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082590611f70565b60405180910390fd5b60011515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990611ff0565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61092561152a565b73ffffffffffffffffffffffffffffffffffffffff16610943610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099090611f70565b60405180910390fd5b6109a36000611532565b565b6000336040516020016109b89190611e2f565b6040516020818303038152906040528051906020012090506109e760015482846115f69092919063ffffffff16565b610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d90612010565b60405180910390fd5b600083905060006007549050600060095414158015610af15750600954600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a9e9190611e76565b60206040518083038186803b158015610ab657600080fd5b505afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190611c1c565b10155b15610afb57600090505b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190611f90565b60405180910390fd5b803414610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba390611fb0565b60405180910390fd5b6000811115610d2357600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610cb8576000610bf582846116ac565b90508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c3d573d6000803e3d6000fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284610c86919061221b565b9081150290604051600060405180830381858888f19350505050158015610cb1573d6000803e3d6000fd5b5050610d22565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d20573d6000803e3d6000fd5b505b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b8152600401610d7e9190611e76565b602060405180830381600087803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd09190611b95565b505050505050565b60045481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190611fd0565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090611fd0565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610fd561152a565b73ffffffffffffffffffffffffffffffffffffffff16610ff3610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104090611f70565b60405180910390fd5b6110538282611740565b5050565b60075481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e090611fd0565b60405180910390fd5b8060078190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61112161152a565b73ffffffffffffffffffffffffffffffffffffffff1661113f610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90611f70565b60405180910390fd5b8060048190555050565b6111a761152a565b73ffffffffffffffffffffffffffffffffffffffff166111c5610ed4565b73ffffffffffffffffffffffffffffffffffffffff161461121b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121290611f70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561128b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128290611f30565b60405180910390fd5b61129481611532565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790611ef0565b60405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b600080600090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600a805490508160ff16101561151f5760008273ffffffffffffffffffffffffffffffffffffffff1662fdd58e87600a8560ff16815481106114205761141f61241e565b5b9060005260206000200160000160009054906101000a90046fffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401611467929190611eac565b60206040518083038186803b15801561147f57600080fd5b505afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b79190611c1c565b111561150c57600a8160ff16815481106114d4576114d361241e565b5b9060005260206000200160000160109054906101000a90046fffffffffffffffffffffffffffffffff168361150991906120f4565b92505b808061151790612368565b9150506113db565b508192505050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008082905060005b855181101561169e57600086828151811061161d5761161c61241e565b5b6020026020010151905080831161165e578281604051602001611641929190611e4a565b60405160208183030381529060405280519060200120925061168a565b8083604051602001611671929190611e4a565b6040516020818303038152906040528051906020012092505b5080806116969061231f565b9150506115ff565b508381149150509392505050565b6000806116b8836113aa565b9050600080826fffffffffffffffffffffffffffffffff161115611717576103e8826fffffffffffffffffffffffffffffffff166004546116f991906121c1565b6117039190612190565b600454611710919061213a565b905061171d565b60045490505b6103e8818661172c91906121c1565b6117369190612190565b9250505092915050565b8051825114611784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177b90611f10565b60405180910390fd5b60005b82518160ff1610156118c057600a6040518060400160405280858460ff16815181106117b6576117b561241e565b5b60200260200101516fffffffffffffffffffffffffffffffff168152602001848460ff16815181106117eb576117ea61241e565b5b60200260200101516fffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505080806118b890612368565b915050611787565b505050565b60006118d86118d38461208b565b612066565b905080838252602082019050828560208602820111156118fb576118fa612481565b5b60005b8581101561192b57816119118882611a40565b8452602084019350602083019250506001810190506118fe565b5050509392505050565b6000611948611943846120b7565b612066565b9050808382526020820190508285602086028201111561196b5761196a612481565b5b60005b8581101561199b57816119818882611a55565b84526020840193506020830192505060018101905061196e565b5050509392505050565b6000813590506119b481612752565b92915050565b6000813590506119c981612769565b92915050565b600082601f8301126119e4576119e361247c565b5b81356119f48482602086016118c5565b91505092915050565b600082601f830112611a1257611a1161247c565b5b8135611a22848260208601611935565b91505092915050565b600081519050611a3a81612780565b92915050565b600081359050611a4f81612797565b92915050565b600081359050611a64816127ae565b92915050565b600081359050611a79816127c5565b92915050565b600081519050611a8e816127c5565b92915050565b600060208284031215611aaa57611aa961248b565b5b6000611ab8848285016119a5565b91505092915050565b60008060408385031215611ad857611ad761248b565b5b6000611ae6858286016119ba565b925050602083013567ffffffffffffffff811115611b0757611b06612486565b5b611b13858286016119cf565b9150509250929050565b60008060408385031215611b3457611b3361248b565b5b600083013567ffffffffffffffff811115611b5257611b51612486565b5b611b5e858286016119fd565b925050602083013567ffffffffffffffff811115611b7f57611b7e612486565b5b611b8b858286016119fd565b9150509250929050565b600060208284031215611bab57611baa61248b565b5b6000611bb984828501611a2b565b91505092915050565b600060208284031215611bd857611bd761248b565b5b6000611be684828501611a40565b91505092915050565b600060208284031215611c0557611c0461248b565b5b6000611c1384828501611a6a565b91505092915050565b600060208284031215611c3257611c3161248b565b5b6000611c4084828501611a7f565b91505092915050565b611c5281612261565b82525050565b611c618161224f565b82525050565b611c78611c738261224f565b612392565b82525050565b611c878161227f565b82525050565b611c9e611c998261227f565b6123a4565b82525050565b6000611cb16024836120e3565b9150611cbc826124ae565b604082019050919050565b6000611cd4602e836120e3565b9150611cdf826124fd565b604082019050919050565b6000611cf76026836120e3565b9150611d028261254c565b604082019050919050565b6000611d1a601d836120e3565b9150611d258261259b565b602082019050919050565b6000611d3d6020836120e3565b9150611d48826125c4565b602082019050919050565b6000611d606025836120e3565b9150611d6b826125ed565b604082019050919050565b6000611d83605e836120e3565b9150611d8e8261263c565b606082019050919050565b6000611da6602f836120e3565b9150611db1826126b1565b604082019050919050565b6000611dc96019836120e3565b9150611dd482612700565b602082019050919050565b6000611dec601e836120e3565b9150611df782612729565b602082019050919050565b611e0b81612289565b82525050565b611e1a816122dc565b82525050565b611e29816122c5565b82525050565b6000611e3b8284611c67565b60148201915081905092915050565b6000611e568285611c8d565b602082019150611e668284611c8d565b6020820191508190509392505050565b6000602082019050611e8b6000830184611c58565b92915050565b6000602082019050611ea66000830184611c49565b92915050565b6000604082019050611ec16000830185611c58565b611ece6020830184611e11565b9392505050565b6000602082019050611eea6000830184611c7e565b92915050565b60006020820190508181036000830152611f0981611ca4565b9050919050565b60006020820190508181036000830152611f2981611cc7565b9050919050565b60006020820190508181036000830152611f4981611cea565b9050919050565b60006020820190508181036000830152611f6981611d0d565b9050919050565b60006020820190508181036000830152611f8981611d30565b9050919050565b60006020820190508181036000830152611fa981611d53565b9050919050565b60006020820190508181036000830152611fc981611d76565b9050919050565b60006020820190508181036000830152611fe981611d99565b9050919050565b6000602082019050818103600083015261200981611dbc565b9050919050565b6000602082019050818103600083015261202981611ddf565b9050919050565b60006020820190506120456000830184611e02565b92915050565b60006020820190506120606000830184611e20565b92915050565b6000612070612081565b905061207c82826122ee565b919050565b6000604051905090565b600067ffffffffffffffff8211156120a6576120a561244d565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156120d2576120d161244d565b5b602082029050602081019050919050565b600082825260208201905092915050565b60006120ff82612289565b915061210a83612289565b9250826fffffffffffffffffffffffffffffffff0382111561212f5761212e6123c0565b5b828201905092915050565b6000612145826122c5565b9150612150836122c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612185576121846123c0565b5b828201905092915050565b600061219b826122c5565b91506121a6836122c5565b9250826121b6576121b56123ef565b5b828204905092915050565b60006121cc826122c5565b91506121d7836122c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156122105761220f6123c0565b5b828202905092915050565b6000612226826122c5565b9150612231836122c5565b925082821015612244576122436123c0565b5b828203905092915050565b600061225a826122a5565b9050919050565b600061226c826122a5565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006122e782612289565b9050919050565b6122f782612490565b810181811067ffffffffffffffff821117156123165761231561244d565b5b80604052505050565b600061232a826122c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561235d5761235c6123c0565b5b600182019050919050565b6000612373826122cf565b915060ff821415612387576123866123c0565b5b600182019050919050565b600061239d826123ae565b9050919050565b6000819050919050565b60006123b9826124a1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f6d73672e73656e646572206d75737420626520616e20617070726f766564204160008201527f646d696e00000000000000000000000000000000000000000000000000000000602082015250565b7f54686520617272617920706172616d6574657273206d7573742068617665207460008201527f68652073616d65206c656e677468000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f41646d696e20697320616c7265616479206e6f742d617070726f766564000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f596f752063616e6e6f742075736520796f757273656c6620617320612072656660008201527f6572726572000000000000000000000000000000000000000000000000000000602082015250565b7f596f75206d757374207061792074686520657861637420707269636520746f2060008201527f70757263686173652e2043616c6c20746865206765745072696365282920667560208201527f6e6374696f6e20746f207365652074686520707269636520696e207765690000604082015250565b7f6d75737420626520617070726f766564206279206f776e657220746f2063616c60008201527f6c20746869732066756e6374696f6e0000000000000000000000000000000000602082015250565b7f41646d696e20697320616c726561647920617070726f76656400000000000000600082015250565b7f41646472657373206e6f7420656c696769626c6520666f7220636c61696d0000600082015250565b61275b8161224f565b811461276657600080fd5b50565b61277281612261565b811461277d57600080fd5b50565b61278981612273565b811461279457600080fd5b50565b6127a08161227f565b81146127ab57600080fd5b50565b6127b781612289565b81146127c257600080fd5b50565b6127ce816122c5565b81146127d957600080fd5b5056fea26469706673582212205e499de09df590f021285270e307b3ec6ed146af453114dfe03990249ae87d8464736f6c6343000807003300000000000000000000000026e76280f0c4477726b8a1dd9ac4996c5c7badf8000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101405760003560e01c80638c229c01116100b6578063e03481e11161006f578063e03481e1146103ed578063eb81ceee14610418578063f2fde38b14610441578063f974fbf71461046a578063f9ff8da114610495578063fed1fee0146104ac57610140565b80638c229c01146102f15780638da5cb5b1461031c578063abafcf3b14610347578063bbff2e7c14610370578063c7876ea414610399578063de4b3262146103c457610140565b806361d027b31161010857806361d027b3146102165780637048027514610241578063715018a61461026a57806383cefc7214610281578063851dfeef1461029d5780638678e2a2146102c857610140565b80631785f53c146101455780632eb4a7ab1461016e5780633ae2909d146101995780634783f0ef146101c2578063490f25d3146101eb575b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190611a94565b6104e9565b005b34801561017a57600080fd5b50610183610654565b6040516101909190611ed5565b60405180910390f35b3480156101a557600080fd5b506101c060048036038101906101bb9190611bef565b61065a565b005b3480156101ce57600080fd5b506101e960048036038101906101e49190611bc2565b6106f0565b005b3480156101f757600080fd5b50610200610786565b60405161020d919061204b565b60405180910390f35b34801561022257600080fd5b5061022b61078c565b6040516102389190611e91565b60405180910390f35b34801561024d57600080fd5b5061026860048036038101906102639190611a94565b6107b2565b005b34801561027657600080fd5b5061027f61091d565b005b61029b60048036038101906102969190611ac1565b6109a5565b005b3480156102a957600080fd5b506102b2610dd8565b6040516102bf919061204b565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190611a94565b610dde565b005b3480156102fd57600080fd5b50610306610eae565b6040516103139190611e76565b60405180910390f35b34801561032857600080fd5b50610331610ed4565b60405161033e9190611e76565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611a94565b610efd565b005b34801561037c57600080fd5b5061039760048036038101906103929190611b1d565b610fcd565b005b3480156103a557600080fd5b506103ae611057565b6040516103bb919061204b565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e69190611bef565b61105d565b005b3480156103f957600080fd5b506104026110f3565b60405161040f9190611e76565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a9190611bef565b611119565b005b34801561044d57600080fd5b5061046860048036038101906104639190611a94565b61119f565b005b34801561047657600080fd5b5061047f611297565b60405161048c9190611e76565b60405180910390f35b3480156104a157600080fd5b506104aa6112bd565b005b3480156104b857600080fd5b506104d360048036038101906104ce9190611a94565b6113aa565b6040516104e09190612030565b60405180910390f35b6104f161152a565b73ffffffffffffffffffffffffffffffffffffffff1661050f610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c90611f70565b60405180910390fd5b60001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f090611f50565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60015481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd90611fd0565b60405180910390fd5b8060098190555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611fd0565b60405180910390fd5b8060018190555050565b60095481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107ba61152a565b73ffffffffffffffffffffffffffffffffffffffff166107d8610ed4565b73ffffffffffffffffffffffffffffffffffffffff161461082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082590611f70565b60405180910390fd5b60011515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990611ff0565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61092561152a565b73ffffffffffffffffffffffffffffffffffffffff16610943610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099090611f70565b60405180910390fd5b6109a36000611532565b565b6000336040516020016109b89190611e2f565b6040516020818303038152906040528051906020012090506109e760015482846115f69092919063ffffffff16565b610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d90612010565b60405180910390fd5b600083905060006007549050600060095414158015610af15750600954600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a9e9190611e76565b60206040518083038186803b158015610ab657600080fd5b505afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190611c1c565b10155b15610afb57600090505b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190611f90565b60405180910390fd5b803414610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba390611fb0565b60405180910390fd5b6000811115610d2357600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610cb8576000610bf582846116ac565b90508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c3d573d6000803e3d6000fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284610c86919061221b565b9081150290604051600060405180830381858888f19350505050158015610cb1573d6000803e3d6000fd5b5050610d22565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d20573d6000803e3d6000fd5b505b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a627842336040518263ffffffff1660e01b8152600401610d7e9190611e76565b602060405180830381600087803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd09190611b95565b505050505050565b60045481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190611fd0565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090611fd0565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610fd561152a565b73ffffffffffffffffffffffffffffffffffffffff16610ff3610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104090611f70565b60405180910390fd5b6110538282611740565b5050565b60075481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e090611fd0565b60405180910390fd5b8060078190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61112161152a565b73ffffffffffffffffffffffffffffffffffffffff1661113f610ed4565b73ffffffffffffffffffffffffffffffffffffffff1614611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90611f70565b60405180910390fd5b8060048190555050565b6111a761152a565b73ffffffffffffffffffffffffffffffffffffffff166111c5610ed4565b73ffffffffffffffffffffffffffffffffffffffff161461121b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121290611f70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561128b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128290611f30565b60405180910390fd5b61129481611532565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790611ef0565b60405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b600080600090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600a805490508160ff16101561151f5760008273ffffffffffffffffffffffffffffffffffffffff1662fdd58e87600a8560ff16815481106114205761141f61241e565b5b9060005260206000200160000160009054906101000a90046fffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401611467929190611eac565b60206040518083038186803b15801561147f57600080fd5b505afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b79190611c1c565b111561150c57600a8160ff16815481106114d4576114d361241e565b5b9060005260206000200160000160109054906101000a90046fffffffffffffffffffffffffffffffff168361150991906120f4565b92505b808061151790612368565b9150506113db565b508192505050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008082905060005b855181101561169e57600086828151811061161d5761161c61241e565b5b6020026020010151905080831161165e578281604051602001611641929190611e4a565b60405160208183030381529060405280519060200120925061168a565b8083604051602001611671929190611e4a565b6040516020818303038152906040528051906020012092505b5080806116969061231f565b9150506115ff565b508381149150509392505050565b6000806116b8836113aa565b9050600080826fffffffffffffffffffffffffffffffff161115611717576103e8826fffffffffffffffffffffffffffffffff166004546116f991906121c1565b6117039190612190565b600454611710919061213a565b905061171d565b60045490505b6103e8818661172c91906121c1565b6117369190612190565b9250505092915050565b8051825114611784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177b90611f10565b60405180910390fd5b60005b82518160ff1610156118c057600a6040518060400160405280858460ff16815181106117b6576117b561241e565b5b60200260200101516fffffffffffffffffffffffffffffffff168152602001848460ff16815181106117eb576117ea61241e565b5b60200260200101516fffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505080806118b890612368565b915050611787565b505050565b60006118d86118d38461208b565b612066565b905080838252602082019050828560208602820111156118fb576118fa612481565b5b60005b8581101561192b57816119118882611a40565b8452602084019350602083019250506001810190506118fe565b5050509392505050565b6000611948611943846120b7565b612066565b9050808382526020820190508285602086028201111561196b5761196a612481565b5b60005b8581101561199b57816119818882611a55565b84526020840193506020830192505060018101905061196e565b5050509392505050565b6000813590506119b481612752565b92915050565b6000813590506119c981612769565b92915050565b600082601f8301126119e4576119e361247c565b5b81356119f48482602086016118c5565b91505092915050565b600082601f830112611a1257611a1161247c565b5b8135611a22848260208601611935565b91505092915050565b600081519050611a3a81612780565b92915050565b600081359050611a4f81612797565b92915050565b600081359050611a64816127ae565b92915050565b600081359050611a79816127c5565b92915050565b600081519050611a8e816127c5565b92915050565b600060208284031215611aaa57611aa961248b565b5b6000611ab8848285016119a5565b91505092915050565b60008060408385031215611ad857611ad761248b565b5b6000611ae6858286016119ba565b925050602083013567ffffffffffffffff811115611b0757611b06612486565b5b611b13858286016119cf565b9150509250929050565b60008060408385031215611b3457611b3361248b565b5b600083013567ffffffffffffffff811115611b5257611b51612486565b5b611b5e858286016119fd565b925050602083013567ffffffffffffffff811115611b7f57611b7e612486565b5b611b8b858286016119fd565b9150509250929050565b600060208284031215611bab57611baa61248b565b5b6000611bb984828501611a2b565b91505092915050565b600060208284031215611bd857611bd761248b565b5b6000611be684828501611a40565b91505092915050565b600060208284031215611c0557611c0461248b565b5b6000611c1384828501611a6a565b91505092915050565b600060208284031215611c3257611c3161248b565b5b6000611c4084828501611a7f565b91505092915050565b611c5281612261565b82525050565b611c618161224f565b82525050565b611c78611c738261224f565b612392565b82525050565b611c878161227f565b82525050565b611c9e611c998261227f565b6123a4565b82525050565b6000611cb16024836120e3565b9150611cbc826124ae565b604082019050919050565b6000611cd4602e836120e3565b9150611cdf826124fd565b604082019050919050565b6000611cf76026836120e3565b9150611d028261254c565b604082019050919050565b6000611d1a601d836120e3565b9150611d258261259b565b602082019050919050565b6000611d3d6020836120e3565b9150611d48826125c4565b602082019050919050565b6000611d606025836120e3565b9150611d6b826125ed565b604082019050919050565b6000611d83605e836120e3565b9150611d8e8261263c565b606082019050919050565b6000611da6602f836120e3565b9150611db1826126b1565b604082019050919050565b6000611dc96019836120e3565b9150611dd482612700565b602082019050919050565b6000611dec601e836120e3565b9150611df782612729565b602082019050919050565b611e0b81612289565b82525050565b611e1a816122dc565b82525050565b611e29816122c5565b82525050565b6000611e3b8284611c67565b60148201915081905092915050565b6000611e568285611c8d565b602082019150611e668284611c8d565b6020820191508190509392505050565b6000602082019050611e8b6000830184611c58565b92915050565b6000602082019050611ea66000830184611c49565b92915050565b6000604082019050611ec16000830185611c58565b611ece6020830184611e11565b9392505050565b6000602082019050611eea6000830184611c7e565b92915050565b60006020820190508181036000830152611f0981611ca4565b9050919050565b60006020820190508181036000830152611f2981611cc7565b9050919050565b60006020820190508181036000830152611f4981611cea565b9050919050565b60006020820190508181036000830152611f6981611d0d565b9050919050565b60006020820190508181036000830152611f8981611d30565b9050919050565b60006020820190508181036000830152611fa981611d53565b9050919050565b60006020820190508181036000830152611fc981611d76565b9050919050565b60006020820190508181036000830152611fe981611d99565b9050919050565b6000602082019050818103600083015261200981611dbc565b9050919050565b6000602082019050818103600083015261202981611ddf565b9050919050565b60006020820190506120456000830184611e02565b92915050565b60006020820190506120606000830184611e20565b92915050565b6000612070612081565b905061207c82826122ee565b919050565b6000604051905090565b600067ffffffffffffffff8211156120a6576120a561244d565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156120d2576120d161244d565b5b602082029050602081019050919050565b600082825260208201905092915050565b60006120ff82612289565b915061210a83612289565b9250826fffffffffffffffffffffffffffffffff0382111561212f5761212e6123c0565b5b828201905092915050565b6000612145826122c5565b9150612150836122c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612185576121846123c0565b5b828201905092915050565b600061219b826122c5565b91506121a6836122c5565b9250826121b6576121b56123ef565b5b828204905092915050565b60006121cc826122c5565b91506121d7836122c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156122105761220f6123c0565b5b828202905092915050565b6000612226826122c5565b9150612231836122c5565b925082821015612244576122436123c0565b5b828203905092915050565b600061225a826122a5565b9050919050565b600061226c826122a5565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006122e782612289565b9050919050565b6122f782612490565b810181811067ffffffffffffffff821117156123165761231561244d565b5b80604052505050565b600061232a826122c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561235d5761235c6123c0565b5b600182019050919050565b6000612373826122cf565b915060ff821415612387576123866123c0565b5b600182019050919050565b600061239d826123ae565b9050919050565b6000819050919050565b60006123b9826124a1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f6d73672e73656e646572206d75737420626520616e20617070726f766564204160008201527f646d696e00000000000000000000000000000000000000000000000000000000602082015250565b7f54686520617272617920706172616d6574657273206d7573742068617665207460008201527f68652073616d65206c656e677468000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f41646d696e20697320616c7265616479206e6f742d617070726f766564000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f596f752063616e6e6f742075736520796f757273656c6620617320612072656660008201527f6572726572000000000000000000000000000000000000000000000000000000602082015250565b7f596f75206d757374207061792074686520657861637420707269636520746f2060008201527f70757263686173652e2043616c6c20746865206765745072696365282920667560208201527f6e6374696f6e20746f207365652074686520707269636520696e207765690000604082015250565b7f6d75737420626520617070726f766564206279206f776e657220746f2063616c60008201527f6c20746869732066756e6374696f6e0000000000000000000000000000000000602082015250565b7f41646d696e20697320616c726561647920617070726f76656400000000000000600082015250565b7f41646472657373206e6f7420656c696769626c6520666f7220636c61696d0000600082015250565b61275b8161224f565b811461276657600080fd5b50565b61277281612261565b811461277d57600080fd5b50565b61278981612273565b811461279457600080fd5b50565b6127a08161227f565b81146127ab57600080fd5b50565b6127b781612289565b81146127c257600080fd5b50565b6127ce816122c5565b81146127d957600080fd5b5056fea26469706673582212205e499de09df590f021285270e307b3ec6ed146af453114dfe03990249ae87d8464736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000026e76280f0c4477726b8a1dd9ac4996c5c7badf8000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _treasury (address): 0x26e76280F0C4477726B8a1Dd9AC4996c5c7bADf8
Arg [1] : _xGDAOAddress (address): 0x000000000000000000000000000000000000dEaD
Arg [2] : _basePrice (uint256): 0
Arg [3] : _bonusNFTAddress (address): 0x000000000000000000000000000000000000dEaD
Arg [4] : _commission (uint256): 0
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000026e76280f0c4477726b8a1dd9ac4996c5c7badf8
Arg [1] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
8401:7679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8533:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11617:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11717:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9116:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8637:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10647:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2375:94;;;;;;;;;;;;;:::i;:::-;;11986:1316;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8801:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11322:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8908:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1724:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11457:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13949:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8966:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13651:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8860:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13416:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2624:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9024:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11116:166;;;;;;;;;;;;;:::i;:::-;;14987:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10858:172;1955:12;:10;:12::i;:::-;1944:23;;:7;:5;:7::i;:::-;:23;;;1936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10950:5:::1;10932:23;;:6;:14;10939:6;10932:14;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;10924:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11017:5;11000:6;:14;11007:6;11000:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;10858:172:::0;:::o;8533:25::-;;;;:::o;11617:92::-;10508:6;:18;10515:10;10508:18;;;;;;;;;;;;;;;;;;;;;;;;;10500:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11697:4:::1;11682:12;:19;;;;11617:92:::0;:::o;11717:94::-;10508:6;:18;10515:10;10508:18;;;;;;;;;;;;;;;;;;;;;;;;;10500:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11799:4:::1;11786:10;:17;;;;11717:94:::0;:::o;9116:27::-;;;;:::o;8637:31::-;;;;;;;;;;;;;:::o;10647:163::-;1955:12;:10;:12::i;:::-;1944:23;;:7;:5;:7::i;:::-;:23;;;1936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10736:4:::1;10718:22;;:6;:14;10725:6;10718:14;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;;10710:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10798:4;10781:6;:14;10788:6;10781:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10647:163:::0;:::o;2375:94::-;1955:12;:10;:12::i;:::-;1944:23;;:7;:5;:7::i;:::-;:23;;;1936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2440:21:::1;2458:1;2440:9;:21::i;:::-;2375:94::o:0;11986:1316::-;12113:12;12155:10;12138:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;12128:39;;;;;;12113:54;;12186:29;12199:10;;12210:4;12186:5;:12;;:29;;;;;:::i;:::-;12178:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12263:24;12290:9;12263:36;;12312:13;12328:9;;12312:25;;12367:1;12351:12;;:17;;:72;;;;;12411:12;;12379:5;;;;;;;;;;;12372:23;;;12396:10;12372:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;;12351:72;12348:112;;;12447:1;12439:9;;12348:112;12494:9;12480:23;;:10;:23;;;;12472:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;12577:5;12564:9;:18;12556:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;12705:1;12697:5;:9;12694:526;;;12797:1;12777:22;;:8;:22;;;12774:435;;12922:18;12943:30;12957:5;12964:8;12943:13;:30::i;:::-;12922:51;;12992:8;:17;;:29;13010:10;12992:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13040:8;;;;;;;;;;;:17;;:35;13064:10;13058:5;:16;;;;:::i;:::-;13040:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12814:332;12774:435;;;13169:8;;;;;;;;;;;:17;;:24;13187:5;13169:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12774:435;12694:526;13265:11;;;;;;;;;;;13254:28;;;13283:10;13254:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12098:1204;;;11986:1316;;:::o;8801:29::-;;;;:::o;11322:88::-;10508:6;:18;10515:10;10508:18;;;;;;;;;;;;;;;;;;;;;;;;;10500:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11398:4:::1;11390:5;;:12;;;;;;;;;;;;;;;;;;11322:88:::0;:::o;8908:26::-;;;;;;;;;;;;;:::o;1724:87::-;1770:7;1797:6;;;;;;;;;;;1790:13;;1724:87;:::o;11457:100::-;10508:6;:18;10515:10;10508:18;;;;;;;;;;;;;;;;;;;;;;;;;10500:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11545:4:::1;11531:11;;:18;;;;;;;;;;;;;;;;;;11457:100:::0;:::o;13949:176::-;1955:12;:10;:12::i;:::-;1944:23;;:7;:5;:7::i;:::-;:23;;;1936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14068:49:::1;14082:12;14096:20;14068:13;:49::i;:::-;13949:176:::0;;:::o;8966:24::-;;;;:::o;13651:89::-;10508:6;:18;10515:10;10508:18;;;;;;;;;;;;;;;;;;;;;;;;;10500:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;13728:4:::1;13716:9;:16;;;;13651:89:::0;:::o;8860:20::-;;;;;;;;;;;;;:::o;13416:103::-;1955:12;:10;:12::i;:::-;1944:23;;:7;:5;:7::i;:::-;:23;;;1936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13507:4:::1;13490:14;:21;;;;13416:103:::0;:::o;2624:192::-;1955:12;:10;:12::i;:::-;1944:23;;:7;:5;:7::i;:::-;:23;;;1936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2733:1:::1;2713:22;;:8;:22;;;;2705:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2789:19;2799:8;2789:9;:19::i;:::-;2624:192:::0;:::o;9024:30::-;;;;;;;;;;;;;:::o;11116:166::-;11192:4;11170:26;;:6;:18;11177:10;11170:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;11162:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;11269:5;11248:6;:18;11255:10;11248:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11116:166::o;14987:436::-;15047:7;15066:13;15082:1;15066:17;;15094:8;15110:15;;;;;;;;;;;15094:32;;15212:7;15208:185;15229:9;:16;;;;15225:1;:20;;;15208:185;;;15313:1;15269:3;:13;;;15283:9;15294;15304:1;15294:12;;;;;;;;;;:::i;:::-;;;;;;;;;:15;;;;;;;;;;;;15269:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;15266:116;;;15343:9;15353:1;15343:12;;;;;;;;;;:::i;:::-;;;;;;;;;:23;;;;;;;;;;;;15334:32;;;;;:::i;:::-;;;15266:116;15247:3;;;;;:::i;:::-;;;;15208:185;;;;15410:5;15403:12;;;;14987:436;;;:::o;600:98::-;653:7;680:10;673:17;;600:98;:::o;2824:173::-;2880:16;2899:6;;;;;;;;;;;2880:25;;2925:8;2916:6;;:17;;;;;;;;;;;;;;;;;;2980:8;2949:40;;2970:8;2949:40;;;;;;;;;;;;2869:128;2824:173;:::o;7203:830::-;7328:4;7345:20;7368:4;7345:27;;7390:9;7385:525;7409:5;:12;7405:1;:16;7385:525;;;7443:20;7466:5;7472:1;7466:8;;;;;;;;:::i;:::-;;;;;;;;7443:31;;7511:12;7495;:28;7491:408;;7665:12;7679;7648:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7638:55;;;;;;7623:70;;7491:408;;;7855:12;7869;7838:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7828:55;;;;;;7813:70;;7491:408;7428:482;7423:3;;;;;:::i;:::-;;;;7385:525;;;;8021:4;8005:12;:20;7998:27;;;7203:830;;;;;:::o;14415:398::-;14495:7;14514:13;14530:22;14542:9;14530:11;:22::i;:::-;14514:38;;14563:18;14603:1;14595:5;:9;;;14592:161;;;14678:4;14669:5;14652:22;;:14;;:22;;;;:::i;:::-;14651:31;;;;:::i;:::-;14633:14;;:50;;;;:::i;:::-;14620:63;;14592:161;;;14727:14;;14714:27;;14592:161;14800:4;14786:10;14777:6;:19;;;;:::i;:::-;14776:28;;;;:::i;:::-;14769:36;;;;14415:398;;;;:::o;15639:436::-;15781:20;:27;15758:12;:19;:50;15750:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;15902:7;15898:170;15919:12;:19;15915:1;:23;;;15898:170;;;15959:9;15992:49;;;;;;;;16001:12;16014:1;16001:15;;;;;;;;;;:::i;:::-;;;;;;;;15992:49;;;;;;16017:20;16038:1;16017:23;;;;;;;;;;:::i;:::-;;;;;;;;15992:49;;;;;15959:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15940:3;;;;;:::i;:::-;;;;15898:170;;;;15639:436;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;769:::-;865:5;890:81;906:64;963:6;906:64;:::i;:::-;890:81;:::i;:::-;881:90;;991:5;1020:6;1013:5;1006:21;1054:4;1047:5;1043:16;1036:23;;1080:6;1130:3;1122:4;1114:6;1110:17;1105:3;1101:27;1098:36;1095:143;;;1149:79;;:::i;:::-;1095:143;1262:1;1247:238;1272:6;1269:1;1266:13;1247:238;;;1340:3;1369:37;1402:3;1390:10;1369:37;:::i;:::-;1364:3;1357:50;1436:4;1431:3;1427:14;1420:21;;1470:4;1465:3;1461:14;1454:21;;1307:178;1294:1;1291;1287:9;1282:14;;1247:238;;;1251:14;871:620;;769:722;;;;;:::o;1497:139::-;1543:5;1581:6;1568:20;1559:29;;1597:33;1624:5;1597:33;:::i;:::-;1497:139;;;;:::o;1642:155::-;1696:5;1734:6;1721:20;1712:29;;1750:41;1785:5;1750:41;:::i;:::-;1642:155;;;;:::o;1820:370::-;1891:5;1940:3;1933:4;1925:6;1921:17;1917:27;1907:122;;1948:79;;:::i;:::-;1907:122;2065:6;2052:20;2090:94;2180:3;2172:6;2165:4;2157:6;2153:17;2090:94;:::i;:::-;2081:103;;1897:293;1820:370;;;;:::o;2213:::-;2284:5;2333:3;2326:4;2318:6;2314:17;2310:27;2300:122;;2341:79;;:::i;:::-;2300:122;2458:6;2445:20;2483:94;2573:3;2565:6;2558:4;2550:6;2546:17;2483:94;:::i;:::-;2474:103;;2290:293;2213:370;;;;:::o;2589:137::-;2643:5;2674:6;2668:13;2659:22;;2690:30;2714:5;2690:30;:::i;:::-;2589:137;;;;:::o;2732:139::-;2778:5;2816:6;2803:20;2794:29;;2832:33;2859:5;2832:33;:::i;:::-;2732:139;;;;:::o;2877:::-;2923:5;2961:6;2948:20;2939:29;;2977:33;3004:5;2977:33;:::i;:::-;2877:139;;;;:::o;3022:::-;3068:5;3106:6;3093:20;3084:29;;3122:33;3149:5;3122:33;:::i;:::-;3022:139;;;;:::o;3167:143::-;3224:5;3255:6;3249:13;3240:22;;3271:33;3298:5;3271:33;:::i;:::-;3167:143;;;;:::o;3316:329::-;3375:6;3424:2;3412:9;3403:7;3399:23;3395:32;3392:119;;;3430:79;;:::i;:::-;3392:119;3550:1;3575:53;3620:7;3611:6;3600:9;3596:22;3575:53;:::i;:::-;3565:63;;3521:117;3316:329;;;;:::o;3651:700::-;3752:6;3760;3809:2;3797:9;3788:7;3784:23;3780:32;3777:119;;;3815:79;;:::i;:::-;3777:119;3935:1;3960:61;4013:7;4004:6;3993:9;3989:22;3960:61;:::i;:::-;3950:71;;3906:125;4098:2;4087:9;4083:18;4070:32;4129:18;4121:6;4118:30;4115:117;;;4151:79;;:::i;:::-;4115:117;4256:78;4326:7;4317:6;4306:9;4302:22;4256:78;:::i;:::-;4246:88;;4041:303;3651:700;;;;;:::o;4357:894::-;4475:6;4483;4532:2;4520:9;4511:7;4507:23;4503:32;4500:119;;;4538:79;;:::i;:::-;4500:119;4686:1;4675:9;4671:17;4658:31;4716:18;4708:6;4705:30;4702:117;;;4738:79;;:::i;:::-;4702:117;4843:78;4913:7;4904:6;4893:9;4889:22;4843:78;:::i;:::-;4833:88;;4629:302;4998:2;4987:9;4983:18;4970:32;5029:18;5021:6;5018:30;5015:117;;;5051:79;;:::i;:::-;5015:117;5156:78;5226:7;5217:6;5206:9;5202:22;5156:78;:::i;:::-;5146:88;;4941:303;4357:894;;;;;:::o;5257:345::-;5324:6;5373:2;5361:9;5352:7;5348:23;5344:32;5341:119;;;5379:79;;:::i;:::-;5341:119;5499:1;5524:61;5577:7;5568:6;5557:9;5553:22;5524:61;:::i;:::-;5514:71;;5470:125;5257:345;;;;:::o;5608:329::-;5667:6;5716:2;5704:9;5695:7;5691:23;5687:32;5684:119;;;5722:79;;:::i;:::-;5684:119;5842:1;5867:53;5912:7;5903:6;5892:9;5888:22;5867:53;:::i;:::-;5857:63;;5813:117;5608:329;;;;:::o;5943:::-;6002:6;6051:2;6039:9;6030:7;6026:23;6022:32;6019:119;;;6057:79;;:::i;:::-;6019:119;6177:1;6202:53;6247:7;6238:6;6227:9;6223:22;6202:53;:::i;:::-;6192:63;;6148:117;5943:329;;;;:::o;6278:351::-;6348:6;6397:2;6385:9;6376:7;6372:23;6368:32;6365:119;;;6403:79;;:::i;:::-;6365:119;6523:1;6548:64;6604:7;6595:6;6584:9;6580:22;6548:64;:::i;:::-;6538:74;;6494:128;6278:351;;;;:::o;6635:142::-;6738:32;6764:5;6738:32;:::i;:::-;6733:3;6726:45;6635:142;;:::o;6783:118::-;6870:24;6888:5;6870:24;:::i;:::-;6865:3;6858:37;6783:118;;:::o;6907:157::-;7012:45;7032:24;7050:5;7032:24;:::i;:::-;7012:45;:::i;:::-;7007:3;7000:58;6907:157;;:::o;7070:118::-;7157:24;7175:5;7157:24;:::i;:::-;7152:3;7145:37;7070:118;;:::o;7194:157::-;7299:45;7319:24;7337:5;7319:24;:::i;:::-;7299:45;:::i;:::-;7294:3;7287:58;7194:157;;:::o;7357:366::-;7499:3;7520:67;7584:2;7579:3;7520:67;:::i;:::-;7513:74;;7596:93;7685:3;7596:93;:::i;:::-;7714:2;7709:3;7705:12;7698:19;;7357:366;;;:::o;7729:::-;7871:3;7892:67;7956:2;7951:3;7892:67;:::i;:::-;7885:74;;7968:93;8057:3;7968:93;:::i;:::-;8086:2;8081:3;8077:12;8070:19;;7729:366;;;:::o;8101:::-;8243:3;8264:67;8328:2;8323:3;8264:67;:::i;:::-;8257:74;;8340:93;8429:3;8340:93;:::i;:::-;8458:2;8453:3;8449:12;8442:19;;8101:366;;;:::o;8473:::-;8615:3;8636:67;8700:2;8695:3;8636:67;:::i;:::-;8629:74;;8712:93;8801:3;8712:93;:::i;:::-;8830:2;8825:3;8821:12;8814:19;;8473:366;;;:::o;8845:::-;8987:3;9008:67;9072:2;9067:3;9008:67;:::i;:::-;9001:74;;9084:93;9173:3;9084:93;:::i;:::-;9202:2;9197:3;9193:12;9186:19;;8845:366;;;:::o;9217:::-;9359:3;9380:67;9444:2;9439:3;9380:67;:::i;:::-;9373:74;;9456:93;9545:3;9456:93;:::i;:::-;9574:2;9569:3;9565:12;9558:19;;9217:366;;;:::o;9589:::-;9731:3;9752:67;9816:2;9811:3;9752:67;:::i;:::-;9745:74;;9828:93;9917:3;9828:93;:::i;:::-;9946:2;9941:3;9937:12;9930:19;;9589:366;;;:::o;9961:::-;10103:3;10124:67;10188:2;10183:3;10124:67;:::i;:::-;10117:74;;10200:93;10289:3;10200:93;:::i;:::-;10318:2;10313:3;10309:12;10302:19;;9961:366;;;:::o;10333:::-;10475:3;10496:67;10560:2;10555:3;10496:67;:::i;:::-;10489:74;;10572:93;10661:3;10572:93;:::i;:::-;10690:2;10685:3;10681:12;10674:19;;10333:366;;;:::o;10705:::-;10847:3;10868:67;10932:2;10927:3;10868:67;:::i;:::-;10861:74;;10944:93;11033:3;10944:93;:::i;:::-;11062:2;11057:3;11053:12;11046:19;;10705:366;;;:::o;11077:118::-;11164:24;11182:5;11164:24;:::i;:::-;11159:3;11152:37;11077:118;;:::o;11201:131::-;11288:37;11319:5;11288:37;:::i;:::-;11283:3;11276:50;11201:131;;:::o;11338:118::-;11425:24;11443:5;11425:24;:::i;:::-;11420:3;11413:37;11338:118;;:::o;11462:256::-;11574:3;11589:75;11660:3;11651:6;11589:75;:::i;:::-;11689:2;11684:3;11680:12;11673:19;;11709:3;11702:10;;11462:256;;;;:::o;11724:397::-;11864:3;11879:75;11950:3;11941:6;11879:75;:::i;:::-;11979:2;11974:3;11970:12;11963:19;;11992:75;12063:3;12054:6;11992:75;:::i;:::-;12092:2;12087:3;12083:12;12076:19;;12112:3;12105:10;;11724:397;;;;;:::o;12127:222::-;12220:4;12258:2;12247:9;12243:18;12235:26;;12271:71;12339:1;12328:9;12324:17;12315:6;12271:71;:::i;:::-;12127:222;;;;:::o;12355:254::-;12464:4;12502:2;12491:9;12487:18;12479:26;;12515:87;12599:1;12588:9;12584:17;12575:6;12515:87;:::i;:::-;12355:254;;;;:::o;12615:332::-;12736:4;12774:2;12763:9;12759:18;12751:26;;12787:71;12855:1;12844:9;12840:17;12831:6;12787:71;:::i;:::-;12868:72;12936:2;12925:9;12921:18;12912:6;12868:72;:::i;:::-;12615:332;;;;;:::o;12953:222::-;13046:4;13084:2;13073:9;13069:18;13061:26;;13097:71;13165:1;13154:9;13150:17;13141:6;13097:71;:::i;:::-;12953:222;;;;:::o;13181:419::-;13347:4;13385:2;13374:9;13370:18;13362:26;;13434:9;13428:4;13424:20;13420:1;13409:9;13405:17;13398:47;13462:131;13588:4;13462:131;:::i;:::-;13454:139;;13181:419;;;:::o;13606:::-;13772:4;13810:2;13799:9;13795:18;13787:26;;13859:9;13853:4;13849:20;13845:1;13834:9;13830:17;13823:47;13887:131;14013:4;13887:131;:::i;:::-;13879:139;;13606:419;;;:::o;14031:::-;14197:4;14235:2;14224:9;14220:18;14212:26;;14284:9;14278:4;14274:20;14270:1;14259:9;14255:17;14248:47;14312:131;14438:4;14312:131;:::i;:::-;14304:139;;14031:419;;;:::o;14456:::-;14622:4;14660:2;14649:9;14645:18;14637:26;;14709:9;14703:4;14699:20;14695:1;14684:9;14680:17;14673:47;14737:131;14863:4;14737:131;:::i;:::-;14729:139;;14456:419;;;:::o;14881:::-;15047:4;15085:2;15074:9;15070:18;15062:26;;15134:9;15128:4;15124:20;15120:1;15109:9;15105:17;15098:47;15162:131;15288:4;15162:131;:::i;:::-;15154:139;;14881:419;;;:::o;15306:::-;15472:4;15510:2;15499:9;15495:18;15487:26;;15559:9;15553:4;15549:20;15545:1;15534:9;15530:17;15523:47;15587:131;15713:4;15587:131;:::i;:::-;15579:139;;15306:419;;;:::o;15731:::-;15897:4;15935:2;15924:9;15920:18;15912:26;;15984:9;15978:4;15974:20;15970:1;15959:9;15955:17;15948:47;16012:131;16138:4;16012:131;:::i;:::-;16004:139;;15731:419;;;:::o;16156:::-;16322:4;16360:2;16349:9;16345:18;16337:26;;16409:9;16403:4;16399:20;16395:1;16384:9;16380:17;16373:47;16437:131;16563:4;16437:131;:::i;:::-;16429:139;;16156:419;;;:::o;16581:::-;16747:4;16785:2;16774:9;16770:18;16762:26;;16834:9;16828:4;16824:20;16820:1;16809:9;16805:17;16798:47;16862:131;16988:4;16862:131;:::i;:::-;16854:139;;16581:419;;;:::o;17006:::-;17172:4;17210:2;17199:9;17195:18;17187:26;;17259:9;17253:4;17249:20;17245:1;17234:9;17230:17;17223:47;17287:131;17413:4;17287:131;:::i;:::-;17279:139;;17006:419;;;:::o;17431:222::-;17524:4;17562:2;17551:9;17547:18;17539:26;;17575:71;17643:1;17632:9;17628:17;17619:6;17575:71;:::i;:::-;17431:222;;;;:::o;17659:::-;17752:4;17790:2;17779:9;17775:18;17767:26;;17803:71;17871:1;17860:9;17856:17;17847:6;17803:71;:::i;:::-;17659:222;;;;:::o;17887:129::-;17921:6;17948:20;;:::i;:::-;17938:30;;17977:33;18005:4;17997:6;17977:33;:::i;:::-;17887:129;;;:::o;18022:75::-;18055:6;18088:2;18082:9;18072:19;;18022:75;:::o;18103:311::-;18180:4;18270:18;18262:6;18259:30;18256:56;;;18292:18;;:::i;:::-;18256:56;18342:4;18334:6;18330:17;18322:25;;18402:4;18396;18392:15;18384:23;;18103:311;;;:::o;18420:::-;18497:4;18587:18;18579:6;18576:30;18573:56;;;18609:18;;:::i;:::-;18573:56;18659:4;18651:6;18647:17;18639:25;;18719:4;18713;18709:15;18701:23;;18420:311;;;:::o;18737:169::-;18821:11;18855:6;18850:3;18843:19;18895:4;18890:3;18886:14;18871:29;;18737:169;;;;:::o;18912:273::-;18952:3;18971:20;18989:1;18971:20;:::i;:::-;18966:25;;19005:20;19023:1;19005:20;:::i;:::-;19000:25;;19127:1;19091:34;19087:42;19084:1;19081:49;19078:75;;;19133:18;;:::i;:::-;19078:75;19177:1;19174;19170:9;19163:16;;18912:273;;;;:::o;19191:305::-;19231:3;19250:20;19268:1;19250:20;:::i;:::-;19245:25;;19284:20;19302:1;19284:20;:::i;:::-;19279:25;;19438:1;19370:66;19366:74;19363:1;19360:81;19357:107;;;19444:18;;:::i;:::-;19357:107;19488:1;19485;19481:9;19474:16;;19191:305;;;;:::o;19502:185::-;19542:1;19559:20;19577:1;19559:20;:::i;:::-;19554:25;;19593:20;19611:1;19593:20;:::i;:::-;19588:25;;19632:1;19622:35;;19637:18;;:::i;:::-;19622:35;19679:1;19676;19672:9;19667:14;;19502:185;;;;:::o;19693:348::-;19733:7;19756:20;19774:1;19756:20;:::i;:::-;19751:25;;19790:20;19808:1;19790:20;:::i;:::-;19785:25;;19978:1;19910:66;19906:74;19903:1;19900:81;19895:1;19888:9;19881:17;19877:105;19874:131;;;19985:18;;:::i;:::-;19874:131;20033:1;20030;20026:9;20015:20;;19693:348;;;;:::o;20047:191::-;20087:4;20107:20;20125:1;20107:20;:::i;:::-;20102:25;;20141:20;20159:1;20141:20;:::i;:::-;20136:25;;20180:1;20177;20174:8;20171:34;;;20185:18;;:::i;:::-;20171:34;20230:1;20227;20223:9;20215:17;;20047:191;;;;:::o;20244:96::-;20281:7;20310:24;20328:5;20310:24;:::i;:::-;20299:35;;20244:96;;;:::o;20346:104::-;20391:7;20420:24;20438:5;20420:24;:::i;:::-;20409:35;;20346:104;;;:::o;20456:90::-;20490:7;20533:5;20526:13;20519:21;20508:32;;20456:90;;;:::o;20552:77::-;20589:7;20618:5;20607:16;;20552:77;;;:::o;20635:118::-;20672:7;20712:34;20705:5;20701:46;20690:57;;20635:118;;;:::o;20759:126::-;20796:7;20836:42;20829:5;20825:54;20814:65;;20759:126;;;:::o;20891:77::-;20928:7;20957:5;20946:16;;20891:77;;;:::o;20974:86::-;21009:7;21049:4;21042:5;21038:16;21027:27;;20974:86;;;:::o;21066:113::-;21116:9;21149:24;21167:5;21149:24;:::i;:::-;21136:37;;21066:113;;;:::o;21185:281::-;21268:27;21290:4;21268:27;:::i;:::-;21260:6;21256:40;21398:6;21386:10;21383:22;21362:18;21350:10;21347:34;21344:62;21341:88;;;21409:18;;:::i;:::-;21341:88;21449:10;21445:2;21438:22;21228:238;21185:281;;:::o;21472:233::-;21511:3;21534:24;21552:5;21534:24;:::i;:::-;21525:33;;21580:66;21573:5;21570:77;21567:103;;;21650:18;;:::i;:::-;21567:103;21697:1;21690:5;21686:13;21679:20;;21472:233;;;:::o;21711:167::-;21748:3;21771:22;21787:5;21771:22;:::i;:::-;21762:31;;21815:4;21808:5;21805:15;21802:41;;;21823:18;;:::i;:::-;21802:41;21870:1;21863:5;21859:13;21852:20;;21711:167;;;:::o;21884:100::-;21923:7;21952:26;21972:5;21952:26;:::i;:::-;21941:37;;21884:100;;;:::o;21990:79::-;22029:7;22058:5;22047:16;;21990:79;;;:::o;22075:94::-;22114:7;22143:20;22157:5;22143:20;:::i;:::-;22132:31;;22075:94;;;:::o;22175:180::-;22223:77;22220:1;22213:88;22320:4;22317:1;22310:15;22344:4;22341:1;22334:15;22361:180;22409:77;22406:1;22399:88;22506:4;22503:1;22496:15;22530:4;22527:1;22520:15;22547:180;22595:77;22592:1;22585:88;22692:4;22689:1;22682:15;22716:4;22713:1;22706:15;22733:180;22781:77;22778:1;22771:88;22878:4;22875:1;22868:15;22902:4;22899:1;22892:15;22919:117;23028:1;23025;23018:12;23042:117;23151:1;23148;23141:12;23165:117;23274:1;23271;23264:12;23288:117;23397:1;23394;23387:12;23411:102;23452:6;23503:2;23499:7;23494:2;23487:5;23483:14;23479:28;23469:38;;23411:102;;;:::o;23519:94::-;23552:8;23600:5;23596:2;23592:14;23571:35;;23519:94;;;:::o;23619:223::-;23759:34;23755:1;23747:6;23743:14;23736:58;23828:6;23823:2;23815:6;23811:15;23804:31;23619:223;:::o;23848:233::-;23988:34;23984:1;23976:6;23972:14;23965:58;24057:16;24052:2;24044:6;24040:15;24033:41;23848:233;:::o;24087:225::-;24227:34;24223:1;24215:6;24211:14;24204:58;24296:8;24291:2;24283:6;24279:15;24272:33;24087:225;:::o;24318:179::-;24458:31;24454:1;24446:6;24442:14;24435:55;24318:179;:::o;24503:182::-;24643:34;24639:1;24631:6;24627:14;24620:58;24503:182;:::o;24691:224::-;24831:34;24827:1;24819:6;24815:14;24808:58;24900:7;24895:2;24887:6;24883:15;24876:32;24691:224;:::o;24921:318::-;25061:34;25057:1;25049:6;25045:14;25038:58;25130:34;25125:2;25117:6;25113:15;25106:59;25199:32;25194:2;25186:6;25182:15;25175:57;24921:318;:::o;25245:234::-;25385:34;25381:1;25373:6;25369:14;25362:58;25454:17;25449:2;25441:6;25437:15;25430:42;25245:234;:::o;25485:175::-;25625:27;25621:1;25613:6;25609:14;25602:51;25485:175;:::o;25666:180::-;25806:32;25802:1;25794:6;25790:14;25783:56;25666:180;:::o;25852:122::-;25925:24;25943:5;25925:24;:::i;:::-;25918:5;25915:35;25905:63;;25964:1;25961;25954:12;25905:63;25852:122;:::o;25980:138::-;26061:32;26087:5;26061:32;:::i;:::-;26054:5;26051:43;26041:71;;26108:1;26105;26098:12;26041:71;25980:138;:::o;26124:116::-;26194:21;26209:5;26194:21;:::i;:::-;26187:5;26184:32;26174:60;;26230:1;26227;26220:12;26174:60;26124:116;:::o;26246:122::-;26319:24;26337:5;26319:24;:::i;:::-;26312:5;26309:35;26299:63;;26358:1;26355;26348:12;26299:63;26246:122;:::o;26374:::-;26447:24;26465:5;26447:24;:::i;:::-;26440:5;26437:35;26427:63;;26486:1;26483;26476:12;26427:63;26374:122;:::o;26502:::-;26575:24;26593:5;26575:24;:::i;:::-;26568:5;26565:35;26555:63;;26614:1;26611;26604:12;26555:63;26502:122;:::o
Swarm Source
ipfs://5e499de09df590f021285270e307b3ec6ed146af453114dfe03990249ae87d84
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.