Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,448 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Mint | 20077412 | 5 days ago | IN | 0.1 ETH | 0.00446664 | ||||
Mint | 19918174 | 27 days ago | IN | 0.1 ETH | 0.00568042 | ||||
Mint | 19918173 | 27 days ago | IN | 0.1 ETH | 0.0058873 | ||||
Mint | 19898888 | 30 days ago | IN | 0.1 ETH | 0.00073506 | ||||
Mint | 19891042 | 31 days ago | IN | 0.1 ETH | 0.00212257 | ||||
Mint | 19891037 | 31 days ago | IN | 0.1 ETH | 0.00213554 | ||||
Mint | 19866004 | 35 days ago | IN | 0.1 ETH | 0.00086239 | ||||
Mint | 19864351 | 35 days ago | IN | 0.1 ETH | 0.0010572 | ||||
Mint | 19824190 | 41 days ago | IN | 0.1 ETH | 0.0012447 | ||||
Mint | 19821254 | 41 days ago | IN | 0.1 ETH | 0.00088081 | ||||
Mint | 19820993 | 41 days ago | IN | 0.1 ETH | 0.0010978 | ||||
Mint | 19820808 | 41 days ago | IN | 0.1 ETH | 0.00108359 | ||||
Mint | 19820802 | 41 days ago | IN | 0.1 ETH | 0.00115017 | ||||
Mint | 19814314 | 42 days ago | IN | 0.1 ETH | 0.00093825 | ||||
Mint | 19811292 | 42 days ago | IN | 0.1 ETH | 0.00155915 | ||||
Mint | 19807485 | 43 days ago | IN | 0.1 ETH | 0.00114306 | ||||
Mint | 19806719 | 43 days ago | IN | 0.1 ETH | 0.00100878 | ||||
Mint | 19799779 | 44 days ago | IN | 0.1 ETH | 0.00105969 | ||||
Mint | 19798583 | 44 days ago | IN | 0.1 ETH | 0.00127106 | ||||
Mint | 19792059 | 45 days ago | IN | 0.1 ETH | 0.00161276 | ||||
Mint | 19783936 | 46 days ago | IN | 0.1 ETH | 0.00257085 | ||||
Mint | 19781857 | 47 days ago | IN | 0.1 ETH | 0.00157888 | ||||
Mint | 19773382 | 48 days ago | IN | 0.1 ETH | 0.00149412 | ||||
Mint | 19772969 | 48 days ago | IN | 0.1 ETH | 0.00150256 | ||||
Mint | 19770949 | 48 days ago | IN | 0.1 ETH | 0.00180829 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
20077412 | 5 days ago | 0.1 ETH | ||||
19918174 | 27 days ago | 0.1 ETH | ||||
19918173 | 27 days ago | 0.1 ETH | ||||
19898888 | 30 days ago | 0.1 ETH | ||||
19891042 | 31 days ago | 0.1 ETH | ||||
19891037 | 31 days ago | 0.1 ETH | ||||
19866004 | 35 days ago | 0.1 ETH | ||||
19864351 | 35 days ago | 0.1 ETH | ||||
19824190 | 41 days ago | 0.1 ETH | ||||
19821254 | 41 days ago | 0.1 ETH | ||||
19820993 | 41 days ago | 0.1 ETH | ||||
19820808 | 41 days ago | 0.1 ETH | ||||
19820802 | 41 days ago | 0.1 ETH | ||||
19814314 | 42 days ago | 0.1 ETH | ||||
19811292 | 42 days ago | 0.1 ETH | ||||
19807485 | 43 days ago | 0.1 ETH | ||||
19806719 | 43 days ago | 0.1 ETH | ||||
19799779 | 44 days ago | 0.1 ETH | ||||
19798583 | 44 days ago | 0.1 ETH | ||||
19792059 | 45 days ago | 0.1 ETH | ||||
19783936 | 46 days ago | 0.1 ETH | ||||
19781857 | 47 days ago | 0.1 ETH | ||||
19773382 | 48 days ago | 0.1 ETH | ||||
19772969 | 48 days ago | 0.1 ETH | ||||
19770949 | 48 days ago | 0.1 ETH |
Loading...
Loading
Contract Name:
ArtistProxy
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT pragma solidity >=0.6.2; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; interface IBrainDrops { function mint(address recipient, uint _projectId) external payable returns (uint256); function updateProjectArtistName(uint256 _projectId, string memory _projectArtistName) external; function updateProjectDescription(uint256 _projectId, string memory _projectDescription) external; function updateProjectWebsite(uint256 _projectId, string memory _projectWebsite) external; function updateProjectLicense(uint256 _projectId, string memory _projectLicense) external; function updateProjectBaseURI(uint256 _projectId, string memory _projectBaseURI) external; function updateProjectPricePerTokenInWei(uint256 _projectId, uint256 _pricePerTokenInWei) external; function toggleProjectIsPaused(uint256 _projectId) external; function setProvenanceHash(uint256 _projectId, string memory provenanceHash) external; function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function isWhitelisted(address sender) external view returns (bool whitelisted); function transferFrom(address from, address to, uint256 tokenId) external; } interface IDelegationRegistry { function checkDelegateForContract(address delegate, address vault, address contract_) external returns(bool); } contract ArtistProxy is Ownable, ReentrancyGuard { constructor(address _braindropsAddress) { braindrops = IBrainDrops(_braindropsAddress); } IBrainDrops public braindrops; IDelegationRegistry public delegationRegistry; mapping(uint256 => mapping(address => bool)) public projectIdToProxyDropAddressMinted; mapping(uint256 => mapping(uint256 => bool)) public projectIdToGenesisDropTokenMinted; mapping(uint256 => mapping(uint256 => bool)) public projectIdToProjectSpecificHoldersTokenMinted; mapping(uint256 => address) public projectIdToArtistAddress; mapping(uint256 => bool) public projectIdToProjectActivated; mapping(uint256 => bool) public projectIdToHolderActivated; mapping(uint256 => bool) public projectIdToGenesisDropActivated; mapping(uint256 => bool) public projectIdToProjectIsAddressMintLimited; mapping(uint256 => uint256) public projectIdToOlderProjectId; modifier onlyArtist(uint256 _projectId) { require(msg.sender == projectIdToArtistAddress[_projectId], "Only artist"); _; } modifier onlyArtistOrOwner(uint256 _projectId) { require(msg.sender == projectIdToArtistAddress[_projectId] || msg.sender == owner(), "Only artist or owner"); _; } modifier onlyAllowListed() { require(braindrops.isWhitelisted(msg.sender), "Only allowListed"); _; } modifier onlyHolders(uint256 _projectId) { require(braindrops.balanceOf(msg.sender) > 0, "Holders only"); _; } function setDelegationRegistry(address _registryAddress) public onlyOwner { delegationRegistry = IDelegationRegistry(_registryAddress); } function setArtist(uint projectId, address artistAddress) public onlyAllowListed { projectIdToArtistAddress[projectId] = artistAddress; } function updateProjectArtistName(uint256 _projectId, string memory _projectArtistName) onlyArtist(_projectId) public { braindrops.updateProjectArtistName(_projectId, _projectArtistName); } function updateProjectDescription(uint256 _projectId, string memory _projectDescription) onlyArtist(_projectId) public { braindrops.updateProjectDescription(_projectId, _projectDescription); } function updateProjectWebsite(uint256 _projectId, string memory _projectWebsite) onlyArtist(_projectId) public { braindrops.updateProjectWebsite(_projectId, _projectWebsite); } function updateProjectLicense(uint256 _projectId, string memory _projectLicense) onlyArtist(_projectId) public { braindrops.updateProjectLicense(_projectId, _projectLicense); } function updateProjectBaseURI(uint256 _projectId, string memory _projectBaseURI) onlyArtist(_projectId) public { braindrops.updateProjectBaseURI(_projectId, _projectBaseURI); } function updateProjectPricePerTokenInWei(uint256 _projectId, uint256 _pricePerTokenInWei) onlyArtist(_projectId) public { braindrops.updateProjectPricePerTokenInWei(_projectId, _pricePerTokenInWei); } function toggleProjectIsPaused(uint256 _projectId) public onlyArtist(_projectId) { braindrops.toggleProjectIsPaused(_projectId); } function setProvenanceHash(uint256 _projectId, string memory provenanceHash) public onlyArtist(_projectId) { braindrops.setProvenanceHash(_projectId, provenanceHash); } function toggleProjectIsAddressMintLimited(uint256 _projectId) public onlyArtist(_projectId) { projectIdToProjectIsAddressMintLimited[_projectId] = !projectIdToProjectIsAddressMintLimited[_projectId]; } function toggleProjectIsActive(uint256 _projectId) public onlyArtist(_projectId) { projectIdToProjectActivated[_projectId] = !projectIdToProjectActivated[_projectId]; } function toggleProjectIsHolderActive(uint256 _projectId) public onlyArtist(_projectId) { projectIdToHolderActivated[_projectId] = !projectIdToHolderActivated[_projectId]; } function toggleProjectIsGenesisDropActive(uint256 _projectId) public onlyArtist(_projectId) { projectIdToGenesisDropActivated[_projectId] = !projectIdToGenesisDropActivated[_projectId]; } function setProjectIdToOlderProjectId(uint256 _projectId, uint256 _olderProjectId) public onlyArtist(_projectId) { projectIdToOlderProjectId[_projectId] = _olderProjectId; } function mintForArtistsOnly(address recipient, uint _projectId) public payable onlyArtist(_projectId) returns (uint256) { return braindrops.mint{value: msg.value}(recipient, _projectId); } function reserve(address recipient, uint _projectId, uint amount) public payable onlyArtistOrOwner(_projectId) { uint b; for (b = 0; b < amount; b++) { braindrops.mint{value: (msg.value / amount)}(recipient, _projectId); } } function mintForProjectSpecificHoldersOnly(address recipient, uint _projectId, uint _projectTokenId) public payable nonReentrant returns (uint256) { uint olderProjectId = projectIdToOlderProjectId[_projectId]; require(olderProjectId > 0, "Project must be active for project-holder specific mints"); uint _projectIdFromTokenId = (_projectTokenId - (_projectTokenId % 1000000)) / 1000000; require(_projectIdFromTokenId == olderProjectId, "must pass in a token id from the correct project"); require(braindrops.ownerOf(_projectTokenId) == msg.sender, "sender must own token id passed in"); require(projectIdToGenesisDropTokenMinted[_projectId][_projectTokenId] == false, "token already used to mint"); projectIdToGenesisDropTokenMinted[_projectId][_projectTokenId] = true; return braindrops.mint{value: msg.value}(recipient, _projectId); } function mintForGenesisDropHoldersOnly(address recipient, uint _projectId, uint _project1TokenId, uint _project2TokenId, uint _project3TokenId, address _vault) public payable nonReentrant returns (uint256) { address requester = msg.sender; if (_vault != address(0)) { bool isDelegateValid = delegationRegistry.checkDelegateForContract(msg.sender, _vault, address(braindrops)); require(isDelegateValid, "invalid delegate-vault pairing"); requester = _vault; } require(projectIdToGenesisDropActivated[_projectId], "Project must be active for genesis set holders"); uint _project1Id = (_project1TokenId - (_project1TokenId % 1000000)) / 1000000; require(_project1Id == 1, "must pass in a token id from project 1"); require(projectIdToGenesisDropTokenMinted[_projectId][_project1TokenId] == false, "project 1 token already used to mint"); uint _project2Id = (_project2TokenId - (_project2TokenId % 1000000)) / 1000000; require(_project2Id == 2, "must pass in a token id from project 2"); require(projectIdToGenesisDropTokenMinted[_projectId][_project2TokenId] == false, "project 2 token already used to mint"); uint _project3Id = (_project3TokenId - (_project3TokenId % 1000000)) / 1000000; require(_project3Id == 3, "must pass in a token id from project 3"); require(projectIdToGenesisDropTokenMinted[_projectId][_project3TokenId] == false, "project 3 token already used to mint"); require(braindrops.ownerOf(_project1TokenId) == requester, "must own the selected token from project 1"); require(braindrops.ownerOf(_project2TokenId) == requester, "must own the selected token from project 2"); require(braindrops.ownerOf(_project3TokenId) == requester, "must own the selected token from project 3"); projectIdToGenesisDropTokenMinted[_projectId][_project1TokenId] = true; projectIdToGenesisDropTokenMinted[_projectId][_project2TokenId] = true; projectIdToGenesisDropTokenMinted[_projectId][_project3TokenId] = true; return braindrops.mint{value: msg.value}(recipient, _projectId); } function mintForHoldersOnly(address recipient, uint _projectId) public payable nonReentrant onlyHolders(_projectId) returns (uint256) { require(projectIdToHolderActivated[_projectId], "Project must be active for holders"); return braindrops.mint{value: msg.value}(recipient, _projectId); } function mint(address recipient, uint _projectId) public payable nonReentrant returns (uint256) { require(tx.origin == msg.sender, "cannot be called from another contract"); require(projectIdToProjectActivated[_projectId], "Project must be active"); if (projectIdToProjectIsAddressMintLimited[_projectId]) { require(projectIdToProxyDropAddressMinted[_projectId][msg.sender] == false, "One mint per address"); projectIdToProxyDropAddressMinted[_projectId][msg.sender] = true; } return braindrops.mint{value: msg.value}(recipient, _projectId); } function withdraw() public onlyOwner { uint balance = address(this).balance; payable(msg.sender).transfer(balance); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @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); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
// 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; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_braindropsAddress","type":"address"}],"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":"braindrops","outputs":[{"internalType":"contract IBrainDrops","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delegationRegistry","outputs":[{"internalType":"contract IDelegationRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"mintForArtistsOnly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_project1TokenId","type":"uint256"},{"internalType":"uint256","name":"_project2TokenId","type":"uint256"},{"internalType":"uint256","name":"_project3TokenId","type":"uint256"},{"internalType":"address","name":"_vault","type":"address"}],"name":"mintForGenesisDropHoldersOnly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"mintForHoldersOnly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_projectTokenId","type":"uint256"}],"name":"mintForProjectSpecificHoldersOnly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToArtistAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToGenesisDropActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToGenesisDropTokenMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToHolderActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToOlderProjectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToProjectActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToProjectIsAddressMintLimited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToProjectSpecificHoldersTokenMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"projectIdToProxyDropAddressMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"reserve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"artistAddress","type":"address"}],"name":"setArtist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_registryAddress","type":"address"}],"name":"setDelegationRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_olderProjectId","type":"uint256"}],"name":"setProjectIdToOlderProjectId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"provenanceHash","type":"string"}],"name":"setProvenanceHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"toggleProjectIsActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"toggleProjectIsAddressMintLimited","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"toggleProjectIsGenesisDropActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"toggleProjectIsHolderActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"toggleProjectIsPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_projectArtistName","type":"string"}],"name":"updateProjectArtistName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_projectBaseURI","type":"string"}],"name":"updateProjectBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_projectDescription","type":"string"}],"name":"updateProjectDescription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_projectLicense","type":"string"}],"name":"updateProjectLicense","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_pricePerTokenInWei","type":"uint256"}],"name":"updateProjectPricePerTokenInWei","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_projectWebsite","type":"string"}],"name":"updateProjectWebsite","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162004afd38038062004afd8339818101604052810190620000379190620001dc565b620000576200004b620000a660201b60201c565b620000ae60201b60201c565b6001808190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200020e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001a48262000177565b9050919050565b620001b68162000197565b8114620001c257600080fd5b50565b600081519050620001d681620001ab565b92915050565b600060208284031215620001f557620001f462000172565b5b60006200020584828501620001c5565b91505092915050565b6148df806200021e6000396000f3fe60806040526004361061020f5760003560e01c8063715018a611610118578063a6fadad9116100a0578063c8d7c0411161006f578063c8d7c0411461078f578063cbdcc724146107cc578063d03c390c14610809578063d76a386a14610832578063f2fde38b1461085b5761020f565b8063a6fadad9146106d0578063a8284c30146106f9578063aee9dfd814610729578063b7b04fae146107665761020f565b806397dc86cf116100e757806397dc86cf146105fc5780639e29dd3614610625578063a11ec70a14610641578063a3b2cca61461066a578063a47d29cb146106935761020f565b8063715018a61461056657806373aa9e941461057d57806382a41c12146105a65780638da5cb5b146105d15761020f565b8063283178011161019b5780633e276fd51161016a5780633e276fd51461048b5780633e30918c146104bb5780633e48e848146104e457806340c10f191461050d5780635d97d5151461053d5761020f565b806328317801146103d15780632ecf45041461040e578063378599631461044b5780633ccfd60b146104745761020f565b80631cadd032116101e25780631cadd032146102d35780631fbdd72d14610310578063200e81881461033b57806320895a791461036b57806325b75d68146103a85761020f565b806301ea4794146102145780630e0530c61461023d5780630ea066e8146102665780630ff9e2f314610296575b600080fd5b34801561022057600080fd5b5061023b6004803603810190610236919061340c565b610884565b005b34801561024957600080fd5b50610264600480360381019061025f9190613468565b6109ba565b005b610280600480360381019061027b91906134f3565b610aac565b60405161028d9190613555565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190613468565b610e32565b6040516102ca919061358b565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190613468565b610e52565b604051610307919061358b565b60405180910390f35b34801561031c57600080fd5b50610325610e72565b6040516103329190613605565b60405180910390f35b61035560048036038101906103509190613620565b610e98565b6040516103629190613555565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d91906136ad565b6117c3565b60405161039f919061358b565b60405180910390f35b3480156103b457600080fd5b506103cf60048036038101906103ca919061340c565b6117f2565b005b3480156103dd57600080fd5b506103f860048036038101906103f39190613468565b611928565b604051610405919061358b565b60405180910390f35b34801561041a57600080fd5b50610435600480360381019061043091906136ed565b611948565b604051610442919061358b565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d919061340c565b611977565b005b34801561048057600080fd5b50610489611aad565b005b6104a560048036038101906104a0919061372d565b611b78565b6040516104b29190613555565b60405180910390f35b3480156104c757600080fd5b506104e260048036038101906104dd91906136ed565b611cc6565b005b3480156104f057600080fd5b5061050b6004803603810190610506919061340c565b611d85565b005b6105276004803603810190610522919061372d565b611ebb565b6040516105349190613555565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f9190613468565b6121bc565b005b34801561057257600080fd5b5061057b6122ae565b005b34801561058957600080fd5b506105a4600480360381019061059f919061376d565b612336565b005b3480156105b257600080fd5b506105bb6123f6565b6040516105c891906137bb565b60405180910390f35b3480156105dd57600080fd5b506105e661241c565b6040516105f391906137e5565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e91906136ed565b612445565b005b61063f600480360381019061063a91906134f3565b61257b565b005b34801561064d57600080fd5b5061066860048036038101906106639190613468565b61272c565b005b34801561067657600080fd5b50610691600480360381019061068c919061340c565b61285f565b005b34801561069f57600080fd5b506106ba60048036038101906106b59190613468565b612995565b6040516106c791906137e5565b60405180910390f35b3480156106dc57600080fd5b506106f760048036038101906106f29190613468565b6129c8565b005b610713600480360381019061070e919061372d565b612aba565b6040516107209190613555565b60405180910390f35b34801561073557600080fd5b50610750600480360381019061074b91906136ed565b612cf9565b60405161075d919061358b565b60405180910390f35b34801561077257600080fd5b5061078d6004803603810190610788919061340c565b612d28565b005b34801561079b57600080fd5b506107b660048036038101906107b19190613468565b612e5e565b6040516107c39190613555565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190613468565b612e76565b604051610800919061358b565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b9190613468565b612e96565b005b34801561083e57600080fd5b50610859600480360381019061085491906136ad565b612f88565b005b34801561086757600080fd5b50610882600480360381019061087d919061376d565b6130b9565b005b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091d9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ea479484846040518363ffffffff1660e01b81526004016109839291906138eb565b600060405180830381600087803b15801561099d57600080fd5b505af11580156109b1573d6000803e3d6000fd5b50505050505050565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061385d565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615600b600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260015403610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea90613967565b60405180910390fd5b60026001819055506000600c600085815260200190815260200160002054905060008111610b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4d906139f9565b60405180910390fd5b6000620f42408085610b689190613a48565b85610b739190613aa8565b610b7d9190613adc565b9050818114610bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb890613b7f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e866040518263ffffffff1660e01b8152600401610c339190613555565b602060405180830381865afa158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c749190613bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190613c53565b60405180910390fd5b6000151560056000878152602001908152602001600020600086815260200190815260200160002060009054906101000a900460ff16151514610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3990613cbf565b60405180910390fd5b600160056000878152602001908152602001600020600086815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193488886040518463ffffffff1660e01b8152600401610ddd929190613cdf565b60206040518083038185885af1158015610dfb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e209190613d1d565b92505050600180819055509392505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260015403610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed690613967565b60405180910390fd5b60026001819055506000339050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461102d576000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166390c9a2d03386600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401610fa393929190613d4a565b6020604051808303816000875af1158015610fc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe69190613dad565b905080611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90613e26565b60405180910390fd5b839150505b600a600088815260200190815260200160002060009054906101000a900460ff1661108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490613eb8565b60405180910390fd5b6000620f4240808861109f9190613a48565b886110aa9190613aa8565b6110b49190613adc565b9050600181146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090613f4a565b60405180910390fd5b60001515600560008a8152602001908152602001600020600089815260200190815260200160002060009054906101000a900460ff16151514611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890613fdc565b60405180910390fd5b6000620f424080886111839190613a48565b8861118e9190613aa8565b6111989190613adc565b9050600281146111dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d49061406e565b60405180910390fd5b60001515600560008b8152602001908152602001600020600089815260200190815260200160002060009054906101000a900460ff16151514611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90614100565b60405180910390fd5b6000620f424080886112679190613a48565b886112729190613aa8565b61127c9190613adc565b9050600381146112c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b890614192565b60405180910390fd5b60001515600560008c8152602001908152602001600020600089815260200190815260200160002060009054906101000a900460ff16151514611339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133090614224565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8b6040518263ffffffff1660e01b81526004016113ab9190613555565b602060405180830381865afa1580156113c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ec9190613bb4565b73ffffffffffffffffffffffffffffffffffffffff1614611442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611439906142b6565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8a6040518263ffffffff1660e01b81526004016114b49190613555565b602060405180830381865afa1580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f59190613bb4565b73ffffffffffffffffffffffffffffffffffffffff161461154b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154290614348565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e896040518263ffffffff1660e01b81526004016115bd9190613555565b602060405180830381865afa1580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190613bb4565b73ffffffffffffffffffffffffffffffffffffffff1614611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b906143da565b60405180910390fd5b6001600560008c815260200190815260200160002060008b815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008c815260200190815260200160002060008a815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008c8152602001908152602001600020600089815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19348d8d6040518463ffffffff1660e01b8152600401611769929190613cdf565b60206040518083038185885af1158015611787573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117ac9190613d1d565b945050505050600180819055509695505050505050565b60046020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188b9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325b75d6884846040518363ffffffff1660e01b81526004016118f19291906138eb565b600060405180830381600087803b15801561190b57600080fd5b505af115801561191f573d6000803e3d6000fd5b50505050505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a109061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633785996384846040518363ffffffff1660e01b8152600401611a769291906138eb565b600060405180830381600087803b158015611a9057600080fd5b505af1158015611aa4573d6000803e3d6000fd5b50505050505050565b611ab56131b0565b73ffffffffffffffffffffffffffffffffffffffff16611ad361241c565b73ffffffffffffffffffffffffffffffffffffffff1614611b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2090614446565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b74573d6000803e3d6000fd5b5050565b6000816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c139061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193486866040518463ffffffff1660e01b8152600401611c7a929190613cdf565b60206040518083038185885af1158015611c98573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cbd9190613d1d565b91505092915050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f9061385d565b60405180910390fd5b81600c600085815260200190815260200160002081905550505050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e48e84884846040518363ffffffff1660e01b8152600401611e849291906138eb565b600060405180830381600087803b158015611e9e57600080fd5b505af1158015611eb2573d6000803e3d6000fd5b50505050505050565b6000600260015403611f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef990613967565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f906144d8565b60405180910390fd5b6008600083815260200190815260200160002060009054906101000a900460ff16611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf90614544565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff161561210c57600015156004600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146120a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612099906145b0565b60405180910390fd5b60016004600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193485856040518463ffffffff1660e01b815260040161216a929190613cdf565b60206040518083038185885af1158015612188573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121ad9190613d1d565b90506001808190555092915050565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461225e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122559061385d565b60405180910390fd5b6009600083815260200190815260200160002060009054906101000a900460ff16156009600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6122b66131b0565b73ffffffffffffffffffffffffffffffffffffffff166122d461241c565b73ffffffffffffffffffffffffffffffffffffffff161461232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190614446565b60405180910390fd5b61233460006131b8565b565b61233e6131b0565b73ffffffffffffffffffffffffffffffffffffffff1661235c61241c565b73ffffffffffffffffffffffffffffffffffffffff16146123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990614446565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124de9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397dc86cf84846040518363ffffffff1660e01b81526004016125449291906145d0565b600060405180830381600087803b15801561255e57600080fd5b505af1158015612572573d6000803e3d6000fd5b50505050505050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061261b57506125ec61241c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61265a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265190614645565b60405180910390fd5b60005b8281101561272557600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984346126af9190613adc565b87876040518463ffffffff1660e01b81526004016126ce929190613cdf565b60206040518083038185885af11580156126ec573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127119190613d1d565b50808061271d90614665565b91505061265d565b5050505050565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c59061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a11ec70a836040518263ffffffff1660e01b81526004016128299190613555565b600060405180830381600087803b15801561284357600080fd5b505af1158015612857573d6000803e3d6000fd5b505050505050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f89061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a3b2cca684846040518363ffffffff1660e01b815260040161295e9291906138eb565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b50505050505050565b60076020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a619061385d565b60405180910390fd5b600a600083815260200190815260200160002060009054906101000a900460ff1615600a600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260015403612b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af890613967565b60405180910390fd5b6002600181905550816000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401612b6791906137e5565b602060405180830381865afa158015612b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba89190613d1d565b11612be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdf906146f9565b60405180910390fd5b6009600084815260200190815260200160002060009054906101000a900460ff16612c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3f9061478b565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193486866040518463ffffffff1660e01b8152600401612ca6929190613cdf565b60206040518083038185885af1158015612cc4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ce99190613d1d565b9150506001808190555092915050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc19061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b7b04fae84846040518363ffffffff1660e01b8152600401612e279291906138eb565b600060405180830381600087803b158015612e4157600080fd5b505af1158015612e55573d6000803e3d6000fd5b50505050505050565b600c6020528060005260406000206000915090505481565b60086020528060005260406000206000915054906101000a900460ff1681565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2f9061385d565b60405180910390fd5b6008600083815260200190815260200160002060009054906101000a900460ff16156008600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633af32abf336040518263ffffffff1660e01b8152600401612fe391906137e5565b602060405180830381865afa158015613000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130249190613dad565b613063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305a906147f7565b60405180910390fd5b806007600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6130c16131b0565b73ffffffffffffffffffffffffffffffffffffffff166130df61241c565b73ffffffffffffffffffffffffffffffffffffffff1614613135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161312c90614446565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036131a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161319b90614889565b60405180910390fd5b6131ad816131b8565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6132a381613290565b81146132ae57600080fd5b50565b6000813590506132c08161329a565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613319826132d0565b810181811067ffffffffffffffff82111715613338576133376132e1565b5b80604052505050565b600061334b61327c565b90506133578282613310565b919050565b600067ffffffffffffffff821115613377576133766132e1565b5b613380826132d0565b9050602081019050919050565b82818337600083830152505050565b60006133af6133aa8461335c565b613341565b9050828152602081018484840111156133cb576133ca6132cb565b5b6133d684828561338d565b509392505050565b600082601f8301126133f3576133f26132c6565b5b813561340384826020860161339c565b91505092915050565b6000806040838503121561342357613422613286565b5b6000613431858286016132b1565b925050602083013567ffffffffffffffff8111156134525761345161328b565b5b61345e858286016133de565b9150509250929050565b60006020828403121561347e5761347d613286565b5b600061348c848285016132b1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134c082613495565b9050919050565b6134d0816134b5565b81146134db57600080fd5b50565b6000813590506134ed816134c7565b92915050565b60008060006060848603121561350c5761350b613286565b5b600061351a868287016134de565b935050602061352b868287016132b1565b925050604061353c868287016132b1565b9150509250925092565b61354f81613290565b82525050565b600060208201905061356a6000830184613546565b92915050565b60008115159050919050565b61358581613570565b82525050565b60006020820190506135a0600083018461357c565b92915050565b6000819050919050565b60006135cb6135c66135c184613495565b6135a6565b613495565b9050919050565b60006135dd826135b0565b9050919050565b60006135ef826135d2565b9050919050565b6135ff816135e4565b82525050565b600060208201905061361a60008301846135f6565b92915050565b60008060008060008060c0878903121561363d5761363c613286565b5b600061364b89828a016134de565b965050602061365c89828a016132b1565b955050604061366d89828a016132b1565b945050606061367e89828a016132b1565b935050608061368f89828a016132b1565b92505060a06136a089828a016134de565b9150509295509295509295565b600080604083850312156136c4576136c3613286565b5b60006136d2858286016132b1565b92505060206136e3858286016134de565b9150509250929050565b6000806040838503121561370457613703613286565b5b6000613712858286016132b1565b9250506020613723858286016132b1565b9150509250929050565b6000806040838503121561374457613743613286565b5b6000613752858286016134de565b9250506020613763858286016132b1565b9150509250929050565b60006020828403121561378357613782613286565b5b6000613791848285016134de565b91505092915050565b60006137a5826135d2565b9050919050565b6137b58161379a565b82525050565b60006020820190506137d060008301846137ac565b92915050565b6137df816134b5565b82525050565b60006020820190506137fa60008301846137d6565b92915050565b600082825260208201905092915050565b7f4f6e6c7920617274697374000000000000000000000000000000000000000000600082015250565b6000613847600b83613800565b915061385282613811565b602082019050919050565b600060208201905081810360008301526138768161383a565b9050919050565b600081519050919050565b60005b838110156138a657808201518184015260208101905061388b565b60008484015250505050565b60006138bd8261387d565b6138c78185613800565b93506138d7818560208601613888565b6138e0816132d0565b840191505092915050565b60006040820190506139006000830185613546565b818103602083015261391281846138b2565b90509392505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613951601f83613800565b915061395c8261391b565b602082019050919050565b6000602082019050818103600083015261398081613944565b9050919050565b7f50726f6a656374206d7573742062652061637469766520666f722070726f6a6560008201527f63742d686f6c646572207370656369666963206d696e74730000000000000000602082015250565b60006139e3603883613800565b91506139ee82613987565b604082019050919050565b60006020820190508181036000830152613a12816139d6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a5382613290565b9150613a5e83613290565b925082613a6e57613a6d613a19565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ab382613290565b9150613abe83613290565b9250828203905081811115613ad657613ad5613a79565b5b92915050565b6000613ae782613290565b9150613af283613290565b925082613b0257613b01613a19565b5b828204905092915050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2074686560008201527f20636f72726563742070726f6a65637400000000000000000000000000000000602082015250565b6000613b69603083613800565b9150613b7482613b0d565b604082019050919050565b60006020820190508181036000830152613b9881613b5c565b9050919050565b600081519050613bae816134c7565b92915050565b600060208284031215613bca57613bc9613286565b5b6000613bd884828501613b9f565b91505092915050565b7f73656e646572206d757374206f776e20746f6b656e206964207061737365642060008201527f696e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c3d602283613800565b9150613c4882613be1565b604082019050919050565b60006020820190508181036000830152613c6c81613c30565b9050919050565b7f746f6b656e20616c7265616479207573656420746f206d696e74000000000000600082015250565b6000613ca9601a83613800565b9150613cb482613c73565b602082019050919050565b60006020820190508181036000830152613cd881613c9c565b9050919050565b6000604082019050613cf460008301856137d6565b613d016020830184613546565b9392505050565b600081519050613d178161329a565b92915050565b600060208284031215613d3357613d32613286565b5b6000613d4184828501613d08565b91505092915050565b6000606082019050613d5f60008301866137d6565b613d6c60208301856137d6565b613d7960408301846137d6565b949350505050565b613d8a81613570565b8114613d9557600080fd5b50565b600081519050613da781613d81565b92915050565b600060208284031215613dc357613dc2613286565b5b6000613dd184828501613d98565b91505092915050565b7f696e76616c69642064656c65676174652d7661756c742070616972696e670000600082015250565b6000613e10601e83613800565b9150613e1b82613dda565b602082019050919050565b60006020820190508181036000830152613e3f81613e03565b9050919050565b7f50726f6a656374206d7573742062652061637469766520666f722067656e657360008201527f69732073657420686f6c64657273000000000000000000000000000000000000602082015250565b6000613ea2602e83613800565b9150613ead82613e46565b604082019050919050565b60006020820190508181036000830152613ed181613e95565b9050919050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2070726f60008201527f6a65637420310000000000000000000000000000000000000000000000000000602082015250565b6000613f34602683613800565b9150613f3f82613ed8565b604082019050919050565b60006020820190508181036000830152613f6381613f27565b9050919050565b7f70726f6a656374203120746f6b656e20616c7265616479207573656420746f2060008201527f6d696e7400000000000000000000000000000000000000000000000000000000602082015250565b6000613fc6602483613800565b9150613fd182613f6a565b604082019050919050565b60006020820190508181036000830152613ff581613fb9565b9050919050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2070726f60008201527f6a65637420320000000000000000000000000000000000000000000000000000602082015250565b6000614058602683613800565b915061406382613ffc565b604082019050919050565b600060208201905081810360008301526140878161404b565b9050919050565b7f70726f6a656374203220746f6b656e20616c7265616479207573656420746f2060008201527f6d696e7400000000000000000000000000000000000000000000000000000000602082015250565b60006140ea602483613800565b91506140f58261408e565b604082019050919050565b60006020820190508181036000830152614119816140dd565b9050919050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2070726f60008201527f6a65637420330000000000000000000000000000000000000000000000000000602082015250565b600061417c602683613800565b915061418782614120565b604082019050919050565b600060208201905081810360008301526141ab8161416f565b9050919050565b7f70726f6a656374203320746f6b656e20616c7265616479207573656420746f2060008201527f6d696e7400000000000000000000000000000000000000000000000000000000602082015250565b600061420e602483613800565b9150614219826141b2565b604082019050919050565b6000602082019050818103600083015261423d81614201565b9050919050565b7f6d757374206f776e207468652073656c656374656420746f6b656e2066726f6d60008201527f2070726f6a656374203100000000000000000000000000000000000000000000602082015250565b60006142a0602a83613800565b91506142ab82614244565b604082019050919050565b600060208201905081810360008301526142cf81614293565b9050919050565b7f6d757374206f776e207468652073656c656374656420746f6b656e2066726f6d60008201527f2070726f6a656374203200000000000000000000000000000000000000000000602082015250565b6000614332602a83613800565b915061433d826142d6565b604082019050919050565b6000602082019050818103600083015261436181614325565b9050919050565b7f6d757374206f776e207468652073656c656374656420746f6b656e2066726f6d60008201527f2070726f6a656374203300000000000000000000000000000000000000000000602082015250565b60006143c4602a83613800565b91506143cf82614368565b604082019050919050565b600060208201905081810360008301526143f3816143b7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614430602083613800565b915061443b826143fa565b602082019050919050565b6000602082019050818103600083015261445f81614423565b9050919050565b7f63616e6e6f742062652063616c6c65642066726f6d20616e6f7468657220636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b60006144c2602683613800565b91506144cd82614466565b604082019050919050565b600060208201905081810360008301526144f1816144b5565b9050919050565b7f50726f6a656374206d7573742062652061637469766500000000000000000000600082015250565b600061452e601683613800565b9150614539826144f8565b602082019050919050565b6000602082019050818103600083015261455d81614521565b9050919050565b7f4f6e65206d696e74207065722061646472657373000000000000000000000000600082015250565b600061459a601483613800565b91506145a582614564565b602082019050919050565b600060208201905081810360008301526145c98161458d565b9050919050565b60006040820190506145e56000830185613546565b6145f26020830184613546565b9392505050565b7f4f6e6c7920617274697374206f72206f776e6572000000000000000000000000600082015250565b600061462f601483613800565b915061463a826145f9565b602082019050919050565b6000602082019050818103600083015261465e81614622565b9050919050565b600061467082613290565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146a2576146a1613a79565b5b600182019050919050565b7f486f6c64657273206f6e6c790000000000000000000000000000000000000000600082015250565b60006146e3600c83613800565b91506146ee826146ad565b602082019050919050565b60006020820190508181036000830152614712816146d6565b9050919050565b7f50726f6a656374206d7573742062652061637469766520666f7220686f6c646560008201527f7273000000000000000000000000000000000000000000000000000000000000602082015250565b6000614775602283613800565b915061478082614719565b604082019050919050565b600060208201905081810360008301526147a481614768565b9050919050565b7f4f6e6c7920616c6c6f774c697374656400000000000000000000000000000000600082015250565b60006147e1601083613800565b91506147ec826147ab565b602082019050919050565b60006020820190508181036000830152614810816147d4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614873602683613800565b915061487e82614817565b604082019050919050565b600060208201905081810360008301526148a281614866565b905091905056fea26469706673582212200e4e3dab9d2e9534fd4a87355aa5c48c8184750280b1e7c8ccdb10ce585128a864736f6c63430008110033000000000000000000000000dfde78d2baec499fe18f2be74b6c287eed9511d7
Deployed Bytecode
0x60806040526004361061020f5760003560e01c8063715018a611610118578063a6fadad9116100a0578063c8d7c0411161006f578063c8d7c0411461078f578063cbdcc724146107cc578063d03c390c14610809578063d76a386a14610832578063f2fde38b1461085b5761020f565b8063a6fadad9146106d0578063a8284c30146106f9578063aee9dfd814610729578063b7b04fae146107665761020f565b806397dc86cf116100e757806397dc86cf146105fc5780639e29dd3614610625578063a11ec70a14610641578063a3b2cca61461066a578063a47d29cb146106935761020f565b8063715018a61461056657806373aa9e941461057d57806382a41c12146105a65780638da5cb5b146105d15761020f565b8063283178011161019b5780633e276fd51161016a5780633e276fd51461048b5780633e30918c146104bb5780633e48e848146104e457806340c10f191461050d5780635d97d5151461053d5761020f565b806328317801146103d15780632ecf45041461040e578063378599631461044b5780633ccfd60b146104745761020f565b80631cadd032116101e25780631cadd032146102d35780631fbdd72d14610310578063200e81881461033b57806320895a791461036b57806325b75d68146103a85761020f565b806301ea4794146102145780630e0530c61461023d5780630ea066e8146102665780630ff9e2f314610296575b600080fd5b34801561022057600080fd5b5061023b6004803603810190610236919061340c565b610884565b005b34801561024957600080fd5b50610264600480360381019061025f9190613468565b6109ba565b005b610280600480360381019061027b91906134f3565b610aac565b60405161028d9190613555565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190613468565b610e32565b6040516102ca919061358b565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190613468565b610e52565b604051610307919061358b565b60405180910390f35b34801561031c57600080fd5b50610325610e72565b6040516103329190613605565b60405180910390f35b61035560048036038101906103509190613620565b610e98565b6040516103629190613555565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d91906136ad565b6117c3565b60405161039f919061358b565b60405180910390f35b3480156103b457600080fd5b506103cf60048036038101906103ca919061340c565b6117f2565b005b3480156103dd57600080fd5b506103f860048036038101906103f39190613468565b611928565b604051610405919061358b565b60405180910390f35b34801561041a57600080fd5b50610435600480360381019061043091906136ed565b611948565b604051610442919061358b565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d919061340c565b611977565b005b34801561048057600080fd5b50610489611aad565b005b6104a560048036038101906104a0919061372d565b611b78565b6040516104b29190613555565b60405180910390f35b3480156104c757600080fd5b506104e260048036038101906104dd91906136ed565b611cc6565b005b3480156104f057600080fd5b5061050b6004803603810190610506919061340c565b611d85565b005b6105276004803603810190610522919061372d565b611ebb565b6040516105349190613555565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f9190613468565b6121bc565b005b34801561057257600080fd5b5061057b6122ae565b005b34801561058957600080fd5b506105a4600480360381019061059f919061376d565b612336565b005b3480156105b257600080fd5b506105bb6123f6565b6040516105c891906137bb565b60405180910390f35b3480156105dd57600080fd5b506105e661241c565b6040516105f391906137e5565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e91906136ed565b612445565b005b61063f600480360381019061063a91906134f3565b61257b565b005b34801561064d57600080fd5b5061066860048036038101906106639190613468565b61272c565b005b34801561067657600080fd5b50610691600480360381019061068c919061340c565b61285f565b005b34801561069f57600080fd5b506106ba60048036038101906106b59190613468565b612995565b6040516106c791906137e5565b60405180910390f35b3480156106dc57600080fd5b506106f760048036038101906106f29190613468565b6129c8565b005b610713600480360381019061070e919061372d565b612aba565b6040516107209190613555565b60405180910390f35b34801561073557600080fd5b50610750600480360381019061074b91906136ed565b612cf9565b60405161075d919061358b565b60405180910390f35b34801561077257600080fd5b5061078d6004803603810190610788919061340c565b612d28565b005b34801561079b57600080fd5b506107b660048036038101906107b19190613468565b612e5e565b6040516107c39190613555565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190613468565b612e76565b604051610800919061358b565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b9190613468565b612e96565b005b34801561083e57600080fd5b50610859600480360381019061085491906136ad565b612f88565b005b34801561086757600080fd5b50610882600480360381019061087d919061376d565b6130b9565b005b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091d9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ea479484846040518363ffffffff1660e01b81526004016109839291906138eb565b600060405180830381600087803b15801561099d57600080fd5b505af11580156109b1573d6000803e3d6000fd5b50505050505050565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061385d565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615600b600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260015403610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea90613967565b60405180910390fd5b60026001819055506000600c600085815260200190815260200160002054905060008111610b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4d906139f9565b60405180910390fd5b6000620f42408085610b689190613a48565b85610b739190613aa8565b610b7d9190613adc565b9050818114610bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb890613b7f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e866040518263ffffffff1660e01b8152600401610c339190613555565b602060405180830381865afa158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c749190613bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190613c53565b60405180910390fd5b6000151560056000878152602001908152602001600020600086815260200190815260200160002060009054906101000a900460ff16151514610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3990613cbf565b60405180910390fd5b600160056000878152602001908152602001600020600086815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193488886040518463ffffffff1660e01b8152600401610ddd929190613cdf565b60206040518083038185885af1158015610dfb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e209190613d1d565b92505050600180819055509392505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260015403610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed690613967565b60405180910390fd5b60026001819055506000339050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461102d576000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166390c9a2d03386600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401610fa393929190613d4a565b6020604051808303816000875af1158015610fc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe69190613dad565b905080611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90613e26565b60405180910390fd5b839150505b600a600088815260200190815260200160002060009054906101000a900460ff1661108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490613eb8565b60405180910390fd5b6000620f4240808861109f9190613a48565b886110aa9190613aa8565b6110b49190613adc565b9050600181146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090613f4a565b60405180910390fd5b60001515600560008a8152602001908152602001600020600089815260200190815260200160002060009054906101000a900460ff16151514611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890613fdc565b60405180910390fd5b6000620f424080886111839190613a48565b8861118e9190613aa8565b6111989190613adc565b9050600281146111dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d49061406e565b60405180910390fd5b60001515600560008b8152602001908152602001600020600089815260200190815260200160002060009054906101000a900460ff16151514611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90614100565b60405180910390fd5b6000620f424080886112679190613a48565b886112729190613aa8565b61127c9190613adc565b9050600381146112c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b890614192565b60405180910390fd5b60001515600560008c8152602001908152602001600020600089815260200190815260200160002060009054906101000a900460ff16151514611339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133090614224565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8b6040518263ffffffff1660e01b81526004016113ab9190613555565b602060405180830381865afa1580156113c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ec9190613bb4565b73ffffffffffffffffffffffffffffffffffffffff1614611442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611439906142b6565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8a6040518263ffffffff1660e01b81526004016114b49190613555565b602060405180830381865afa1580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f59190613bb4565b73ffffffffffffffffffffffffffffffffffffffff161461154b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154290614348565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e896040518263ffffffff1660e01b81526004016115bd9190613555565b602060405180830381865afa1580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190613bb4565b73ffffffffffffffffffffffffffffffffffffffff1614611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b906143da565b60405180910390fd5b6001600560008c815260200190815260200160002060008b815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008c815260200190815260200160002060008a815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008c8152602001908152602001600020600089815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19348d8d6040518463ffffffff1660e01b8152600401611769929190613cdf565b60206040518083038185885af1158015611787573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117ac9190613d1d565b945050505050600180819055509695505050505050565b60046020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188b9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166325b75d6884846040518363ffffffff1660e01b81526004016118f19291906138eb565b600060405180830381600087803b15801561190b57600080fd5b505af115801561191f573d6000803e3d6000fd5b50505050505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a109061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633785996384846040518363ffffffff1660e01b8152600401611a769291906138eb565b600060405180830381600087803b158015611a9057600080fd5b505af1158015611aa4573d6000803e3d6000fd5b50505050505050565b611ab56131b0565b73ffffffffffffffffffffffffffffffffffffffff16611ad361241c565b73ffffffffffffffffffffffffffffffffffffffff1614611b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2090614446565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b74573d6000803e3d6000fd5b5050565b6000816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c139061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193486866040518463ffffffff1660e01b8152600401611c7a929190613cdf565b60206040518083038185885af1158015611c98573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cbd9190613d1d565b91505092915050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f9061385d565b60405180910390fd5b81600c600085815260200190815260200160002081905550505050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e48e84884846040518363ffffffff1660e01b8152600401611e849291906138eb565b600060405180830381600087803b158015611e9e57600080fd5b505af1158015611eb2573d6000803e3d6000fd5b50505050505050565b6000600260015403611f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef990613967565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f906144d8565b60405180910390fd5b6008600083815260200190815260200160002060009054906101000a900460ff16611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf90614544565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff161561210c57600015156004600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146120a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612099906145b0565b60405180910390fd5b60016004600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193485856040518463ffffffff1660e01b815260040161216a929190613cdf565b60206040518083038185885af1158015612188573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121ad9190613d1d565b90506001808190555092915050565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461225e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122559061385d565b60405180910390fd5b6009600083815260200190815260200160002060009054906101000a900460ff16156009600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6122b66131b0565b73ffffffffffffffffffffffffffffffffffffffff166122d461241c565b73ffffffffffffffffffffffffffffffffffffffff161461232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190614446565b60405180910390fd5b61233460006131b8565b565b61233e6131b0565b73ffffffffffffffffffffffffffffffffffffffff1661235c61241c565b73ffffffffffffffffffffffffffffffffffffffff16146123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990614446565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124de9061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397dc86cf84846040518363ffffffff1660e01b81526004016125449291906145d0565b600060405180830381600087803b15801561255e57600080fd5b505af1158015612572573d6000803e3d6000fd5b50505050505050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061261b57506125ec61241c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61265a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265190614645565b60405180910390fd5b60005b8281101561272557600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984346126af9190613adc565b87876040518463ffffffff1660e01b81526004016126ce929190613cdf565b60206040518083038185885af11580156126ec573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127119190613d1d565b50808061271d90614665565b91505061265d565b5050505050565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c59061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a11ec70a836040518263ffffffff1660e01b81526004016128299190613555565b600060405180830381600087803b15801561284357600080fd5b505af1158015612857573d6000803e3d6000fd5b505050505050565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f89061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a3b2cca684846040518363ffffffff1660e01b815260040161295e9291906138eb565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b50505050505050565b60076020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a619061385d565b60405180910390fd5b600a600083815260200190815260200160002060009054906101000a900460ff1615600a600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260015403612b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af890613967565b60405180910390fd5b6002600181905550816000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401612b6791906137e5565b602060405180830381865afa158015612b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba89190613d1d565b11612be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdf906146f9565b60405180910390fd5b6009600084815260200190815260200160002060009054906101000a900460ff16612c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3f9061478b565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193486866040518463ffffffff1660e01b8152600401612ca6929190613cdf565b60206040518083038185885af1158015612cc4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ce99190613d1d565b9150506001808190555092915050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b816007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc19061385d565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b7b04fae84846040518363ffffffff1660e01b8152600401612e279291906138eb565b600060405180830381600087803b158015612e4157600080fd5b505af1158015612e55573d6000803e3d6000fd5b50505050505050565b600c6020528060005260406000206000915090505481565b60086020528060005260406000206000915054906101000a900460ff1681565b806007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2f9061385d565b60405180910390fd5b6008600083815260200190815260200160002060009054906101000a900460ff16156008600084815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633af32abf336040518263ffffffff1660e01b8152600401612fe391906137e5565b602060405180830381865afa158015613000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130249190613dad565b613063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305a906147f7565b60405180910390fd5b806007600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6130c16131b0565b73ffffffffffffffffffffffffffffffffffffffff166130df61241c565b73ffffffffffffffffffffffffffffffffffffffff1614613135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161312c90614446565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036131a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161319b90614889565b60405180910390fd5b6131ad816131b8565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6132a381613290565b81146132ae57600080fd5b50565b6000813590506132c08161329a565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613319826132d0565b810181811067ffffffffffffffff82111715613338576133376132e1565b5b80604052505050565b600061334b61327c565b90506133578282613310565b919050565b600067ffffffffffffffff821115613377576133766132e1565b5b613380826132d0565b9050602081019050919050565b82818337600083830152505050565b60006133af6133aa8461335c565b613341565b9050828152602081018484840111156133cb576133ca6132cb565b5b6133d684828561338d565b509392505050565b600082601f8301126133f3576133f26132c6565b5b813561340384826020860161339c565b91505092915050565b6000806040838503121561342357613422613286565b5b6000613431858286016132b1565b925050602083013567ffffffffffffffff8111156134525761345161328b565b5b61345e858286016133de565b9150509250929050565b60006020828403121561347e5761347d613286565b5b600061348c848285016132b1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134c082613495565b9050919050565b6134d0816134b5565b81146134db57600080fd5b50565b6000813590506134ed816134c7565b92915050565b60008060006060848603121561350c5761350b613286565b5b600061351a868287016134de565b935050602061352b868287016132b1565b925050604061353c868287016132b1565b9150509250925092565b61354f81613290565b82525050565b600060208201905061356a6000830184613546565b92915050565b60008115159050919050565b61358581613570565b82525050565b60006020820190506135a0600083018461357c565b92915050565b6000819050919050565b60006135cb6135c66135c184613495565b6135a6565b613495565b9050919050565b60006135dd826135b0565b9050919050565b60006135ef826135d2565b9050919050565b6135ff816135e4565b82525050565b600060208201905061361a60008301846135f6565b92915050565b60008060008060008060c0878903121561363d5761363c613286565b5b600061364b89828a016134de565b965050602061365c89828a016132b1565b955050604061366d89828a016132b1565b945050606061367e89828a016132b1565b935050608061368f89828a016132b1565b92505060a06136a089828a016134de565b9150509295509295509295565b600080604083850312156136c4576136c3613286565b5b60006136d2858286016132b1565b92505060206136e3858286016134de565b9150509250929050565b6000806040838503121561370457613703613286565b5b6000613712858286016132b1565b9250506020613723858286016132b1565b9150509250929050565b6000806040838503121561374457613743613286565b5b6000613752858286016134de565b9250506020613763858286016132b1565b9150509250929050565b60006020828403121561378357613782613286565b5b6000613791848285016134de565b91505092915050565b60006137a5826135d2565b9050919050565b6137b58161379a565b82525050565b60006020820190506137d060008301846137ac565b92915050565b6137df816134b5565b82525050565b60006020820190506137fa60008301846137d6565b92915050565b600082825260208201905092915050565b7f4f6e6c7920617274697374000000000000000000000000000000000000000000600082015250565b6000613847600b83613800565b915061385282613811565b602082019050919050565b600060208201905081810360008301526138768161383a565b9050919050565b600081519050919050565b60005b838110156138a657808201518184015260208101905061388b565b60008484015250505050565b60006138bd8261387d565b6138c78185613800565b93506138d7818560208601613888565b6138e0816132d0565b840191505092915050565b60006040820190506139006000830185613546565b818103602083015261391281846138b2565b90509392505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613951601f83613800565b915061395c8261391b565b602082019050919050565b6000602082019050818103600083015261398081613944565b9050919050565b7f50726f6a656374206d7573742062652061637469766520666f722070726f6a6560008201527f63742d686f6c646572207370656369666963206d696e74730000000000000000602082015250565b60006139e3603883613800565b91506139ee82613987565b604082019050919050565b60006020820190508181036000830152613a12816139d6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a5382613290565b9150613a5e83613290565b925082613a6e57613a6d613a19565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ab382613290565b9150613abe83613290565b9250828203905081811115613ad657613ad5613a79565b5b92915050565b6000613ae782613290565b9150613af283613290565b925082613b0257613b01613a19565b5b828204905092915050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2074686560008201527f20636f72726563742070726f6a65637400000000000000000000000000000000602082015250565b6000613b69603083613800565b9150613b7482613b0d565b604082019050919050565b60006020820190508181036000830152613b9881613b5c565b9050919050565b600081519050613bae816134c7565b92915050565b600060208284031215613bca57613bc9613286565b5b6000613bd884828501613b9f565b91505092915050565b7f73656e646572206d757374206f776e20746f6b656e206964207061737365642060008201527f696e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c3d602283613800565b9150613c4882613be1565b604082019050919050565b60006020820190508181036000830152613c6c81613c30565b9050919050565b7f746f6b656e20616c7265616479207573656420746f206d696e74000000000000600082015250565b6000613ca9601a83613800565b9150613cb482613c73565b602082019050919050565b60006020820190508181036000830152613cd881613c9c565b9050919050565b6000604082019050613cf460008301856137d6565b613d016020830184613546565b9392505050565b600081519050613d178161329a565b92915050565b600060208284031215613d3357613d32613286565b5b6000613d4184828501613d08565b91505092915050565b6000606082019050613d5f60008301866137d6565b613d6c60208301856137d6565b613d7960408301846137d6565b949350505050565b613d8a81613570565b8114613d9557600080fd5b50565b600081519050613da781613d81565b92915050565b600060208284031215613dc357613dc2613286565b5b6000613dd184828501613d98565b91505092915050565b7f696e76616c69642064656c65676174652d7661756c742070616972696e670000600082015250565b6000613e10601e83613800565b9150613e1b82613dda565b602082019050919050565b60006020820190508181036000830152613e3f81613e03565b9050919050565b7f50726f6a656374206d7573742062652061637469766520666f722067656e657360008201527f69732073657420686f6c64657273000000000000000000000000000000000000602082015250565b6000613ea2602e83613800565b9150613ead82613e46565b604082019050919050565b60006020820190508181036000830152613ed181613e95565b9050919050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2070726f60008201527f6a65637420310000000000000000000000000000000000000000000000000000602082015250565b6000613f34602683613800565b9150613f3f82613ed8565b604082019050919050565b60006020820190508181036000830152613f6381613f27565b9050919050565b7f70726f6a656374203120746f6b656e20616c7265616479207573656420746f2060008201527f6d696e7400000000000000000000000000000000000000000000000000000000602082015250565b6000613fc6602483613800565b9150613fd182613f6a565b604082019050919050565b60006020820190508181036000830152613ff581613fb9565b9050919050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2070726f60008201527f6a65637420320000000000000000000000000000000000000000000000000000602082015250565b6000614058602683613800565b915061406382613ffc565b604082019050919050565b600060208201905081810360008301526140878161404b565b9050919050565b7f70726f6a656374203220746f6b656e20616c7265616479207573656420746f2060008201527f6d696e7400000000000000000000000000000000000000000000000000000000602082015250565b60006140ea602483613800565b91506140f58261408e565b604082019050919050565b60006020820190508181036000830152614119816140dd565b9050919050565b7f6d757374207061737320696e206120746f6b656e2069642066726f6d2070726f60008201527f6a65637420330000000000000000000000000000000000000000000000000000602082015250565b600061417c602683613800565b915061418782614120565b604082019050919050565b600060208201905081810360008301526141ab8161416f565b9050919050565b7f70726f6a656374203320746f6b656e20616c7265616479207573656420746f2060008201527f6d696e7400000000000000000000000000000000000000000000000000000000602082015250565b600061420e602483613800565b9150614219826141b2565b604082019050919050565b6000602082019050818103600083015261423d81614201565b9050919050565b7f6d757374206f776e207468652073656c656374656420746f6b656e2066726f6d60008201527f2070726f6a656374203100000000000000000000000000000000000000000000602082015250565b60006142a0602a83613800565b91506142ab82614244565b604082019050919050565b600060208201905081810360008301526142cf81614293565b9050919050565b7f6d757374206f776e207468652073656c656374656420746f6b656e2066726f6d60008201527f2070726f6a656374203200000000000000000000000000000000000000000000602082015250565b6000614332602a83613800565b915061433d826142d6565b604082019050919050565b6000602082019050818103600083015261436181614325565b9050919050565b7f6d757374206f776e207468652073656c656374656420746f6b656e2066726f6d60008201527f2070726f6a656374203300000000000000000000000000000000000000000000602082015250565b60006143c4602a83613800565b91506143cf82614368565b604082019050919050565b600060208201905081810360008301526143f3816143b7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614430602083613800565b915061443b826143fa565b602082019050919050565b6000602082019050818103600083015261445f81614423565b9050919050565b7f63616e6e6f742062652063616c6c65642066726f6d20616e6f7468657220636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b60006144c2602683613800565b91506144cd82614466565b604082019050919050565b600060208201905081810360008301526144f1816144b5565b9050919050565b7f50726f6a656374206d7573742062652061637469766500000000000000000000600082015250565b600061452e601683613800565b9150614539826144f8565b602082019050919050565b6000602082019050818103600083015261455d81614521565b9050919050565b7f4f6e65206d696e74207065722061646472657373000000000000000000000000600082015250565b600061459a601483613800565b91506145a582614564565b602082019050919050565b600060208201905081810360008301526145c98161458d565b9050919050565b60006040820190506145e56000830185613546565b6145f26020830184613546565b9392505050565b7f4f6e6c7920617274697374206f72206f776e6572000000000000000000000000600082015250565b600061462f601483613800565b915061463a826145f9565b602082019050919050565b6000602082019050818103600083015261465e81614622565b9050919050565b600061467082613290565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146a2576146a1613a79565b5b600182019050919050565b7f486f6c64657273206f6e6c790000000000000000000000000000000000000000600082015250565b60006146e3600c83613800565b91506146ee826146ad565b602082019050919050565b60006020820190508181036000830152614712816146d6565b9050919050565b7f50726f6a656374206d7573742062652061637469766520666f7220686f6c646560008201527f7273000000000000000000000000000000000000000000000000000000000000602082015250565b6000614775602283613800565b915061478082614719565b604082019050919050565b600060208201905081810360008301526147a481614768565b9050919050565b7f4f6e6c7920616c6c6f774c697374656400000000000000000000000000000000600082015250565b60006147e1601083613800565b91506147ec826147ab565b602082019050919050565b60006020820190508181036000830152614810816147d4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614873602683613800565b915061487e82614817565b604082019050919050565b600060208201905081810360008301526148a281614866565b905091905056fea26469706673582212200e4e3dab9d2e9534fd4a87355aa5c48c8184750280b1e7c8ccdb10ce585128a864736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000dfde78d2baec499fe18f2be74b6c287eed9511d7
-----Decoded View---------------
Arg [0] : _braindropsAddress (address): 0xdFDE78d2baEc499fe18f2bE74B6c287eED9511d7
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000dfde78d2baec499fe18f2be74b6c287eed9511d7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.