Contract 0x2Bc23E2801449F380c76b5204F70C62B38Bd441f

 

TxHash Block Age From To Value [TxFee]
0x90a71387dbdaaaf56357fed18d9b8cfa207bff362baf31faf8081c9da3ca889571855229 days 8 hrs ago0x133d93566f9699b3af46fe150daa8a67a9563ed6  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00011715
0x7e0c24a1d4e3e4f84ce8ead07ad227140e3bd90ef4a5e50e9a9d978ebfbe6d20714832216 days 22 hrs ago0x7e5e6e85e4a43df4ce74e904ee07816409cedd45  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00004686
0xd943cef1460bc1b2a8982a4855d86d82b8ad03ede07381a537cc6409977da52d714832216 days 22 hrs ago0x197af7a207b063da546c4345e1ead2c8ccfbaf08  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00004686
0xc80a2d09511e886b8560cd14d9d5261490cce6809bf56253059f130b238b977c714831516 days 22 hrs ago0x3ac95f3598c83137aaf23ab95ef26383e99ea85f  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00042174
0xeff10069921a20cc00c0bd782b876a780e7c406d7da69880f98e87b7f962f3f4714830516 days 22 hrs ago0x5b850e396734c211d87c930f2946314ba67bde26  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x7197c7253f34a8511931e0e90dae4b281d5a5e2b32fcc2555770c0c37e9c4720714830316 days 22 hrs ago0x7c26ac3789b27d8cccb448f946be208c93df683c  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00014477
0xc78833dac9d467f5ca8f2717e7a88fc50b596e317c5aae78d39980f883b1f42f714830216 days 22 hrs ago0xfc4be4bf5a2c61d0b256147ffe625a54e6c6bd41  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xeff77d3ab398f8097de11024696556c97f6873ccae317ab00ac2d2c5b67c3ac6714829816 days 22 hrs ago0x1112868d0f2752563a59711cc09cf501133907fa  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.000143572
0x12fbcd94e84e4a8e8b068b9edb75e5ba3f59780da56d637932bfed704a121cb2714829716 days 22 hrs ago0x25d38db6ad6df4a2bf76992e9ceae81b63b7c47e  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x8bcfa9e2349b762e00be648c2cfcd6fee894e0c392c5a5ef08ea78330d58ca10714829716 days 22 hrs ago0x93ff3fa93bdad9e8648dba97fac790ae84d2aeb1  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x162204f45ca11850809be2e129d96cf165f69131c23ce7c29a62e980cc1d8575714829716 days 22 hrs ago0xe581b85f812093dc3c5c70139d8a7640551fd556  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x81dbf2698296a171785c67656f965b69fd4e4bbc79fe32232f5dcb122e6f760b714829616 days 22 hrs ago0x52a73477c7c57edab9a9e60c5fe016166d0152ea  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.000143572
0x99c43d4fccca171180d278eca84ae5ebbd3bbc5528c837a15050942f73df78b7714829516 days 22 hrs ago0x9544a3c02c3ede8c56dc3bd8354e231f703f6aac  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.000143572
0x1248a2b76c038a37a7d4bd9e2f78d0a8b9ed35b36dc84797268ece23b5e47880714829516 days 22 hrs ago0x0ed71c77e8cb6b7fe2231f0c642b9c380e48a320  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00014477
0x9927961f740d4475a238ccfb58bba92bebc786e964f97f12fed878f79f292405714829416 days 22 hrs ago0x062f6a71362176eb9d4911da6c36955ae8161872  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xe850d5357a1ac0c2750441e0e01d7a87ffaf3908cd84803dfaa9572669221b15714829316 days 22 hrs ago0x50ecb481b62de801b5f78e8b317e304fb8c44f8b  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xc0b346433698a74099b78667ac8da711bc4bd68333bdd814293b67c77ece7ce1714829216 days 22 hrs ago0xdeade6838e2285965e2165071bb6c15f144a1f7a  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xd4af949b63a1f30b426c91f8c85d5022610dcc95ce193617e01222603e5b0ea2714829216 days 22 hrs ago0x56cd322af7c6a20d0a4f60494d69ad840ac18f23  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x8c153ae8593ffaa45ac61013b27af5517d955828013c1918c4d4a60d8fa3272d714829216 days 22 hrs ago0x8b025a5d077f85ac268c9c5830d883456410c29e  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xeb304cd28592d0a78934552675343c72d4e34b266f2f5699f79a90d3fc0ace30714828816 days 22 hrs ago0xe5b62bbc1773dad7ffb3c44faac89f5347535499  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x010260bfb01a8b152f5f668020d58c450406fb7dc5d6ac912f976796c0f5267f714828816 days 22 hrs ago0x69440ce14a29b63fd891d6895e774dd9e9ac5684  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xa669d7820962423a3ea383ddc8b7ea2f8f43aad71b269f058f2146b30ca3f9a3714828716 days 22 hrs ago0xfd960079722cfe1e3121b54d06ec17b28ac284be  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0xa6bda9801becd2be0a723fa844454fd1492b8ae74597a279e32043839cd03090714828716 days 22 hrs ago0x8cace5708c2bfa5358ac81d462272a74f7e00ef4  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x972ca80414fda03082d5f4c3b2e1e8001d01cbfc7f4ee4eb347c2f7b1c0c3258714828716 days 22 hrs ago0x4578f72667d14bd52ff6b9e4c0e0c6cd49358f9c  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
0x73103f3ee76b732c2a8e642a26aad0fc68d85a8a34bb4f0e40bb1f13a96b0079714828716 days 22 hrs ago0xe8fc0c5a3879a2a7767e57120b7a1488ee079ef3  IN   0x2bc23e2801449f380c76b5204f70c62b38bd441f0 Ether0.00072385
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: Voting
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.24;

interface ERC725 {
    function keyHasPurpose(bytes32 _key, uint256 _purpose) public view returns (bool result);
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
interface ERC20Basic {
	function balanceOf(address who) public constant returns (uint256);
}


interface ProfileStorage {
	function getStake(address identity) public view returns(uint256);
}

/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    constructor () public {
        owner = msg.sender;
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner, "Only contract owner can call this function");
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}

contract Voting is Ownable {
	mapping(address => bool) public walletApproved;
	mapping(address => bool) public walletVoted;

	ERC20Basic public tokenContract;
	ProfileStorage public profileStorageContract;

	uint256 public votingClosingTime;

	struct Candidate{
		string name;
		uint256 votes;
	}

	Candidate[34] public candidates;

	constructor (address tokenContractAddress, address profileStorageContractAddress) public {
		tokenContract = ERC20Basic(tokenContractAddress);
		profileStorageContract = ProfileStorage(profileStorageContractAddress);

		votingClosingTime = 0;

		 candidates[0].name = "Air Sourcing";
		 candidates[1].name = "Ametlab";
		 candidates[2].name = "B2B Section of Slovenian Blockchain Association (SBCA)";
		 candidates[3].name = "Beleaf & Co";
		 candidates[4].name = "BioGenom 2.0";
		 candidates[5].name = "CAM Engineering";
		 candidates[6].name = "Dispensa Dei Tipici";
		 candidates[7].name = "Fuzzy Factory";
		 candidates[8].name = "GSC Platform";
		 candidates[9].name = "HydraWarehouse";
		candidates[10].name = "Ibis Eteh";
		candidates[11].name = "Infotrans";
		candidates[12].name = "Intelisale";
		candidates[13].name = "Istmos";
		candidates[14].name = "Ivy Food Tech";
		candidates[15].name = "Journey Foods";
		candidates[16].name = "Kakaxi";
		candidates[17].name = "L.Co";
		candidates[18].name = "LynqWallet";
		candidates[19].name = "MedicoHealth AG";
		candidates[20].name = "Moku Menehune";
		candidates[21].name = "NetSDL";
		candidates[22].name = "Orchit";
		candidates[23].name = "Phy2Trace";
		candidates[24].name = "Procurean";
		candidates[25].name = "PsyChain";
		candidates[26].name = "RealMeal";
		candidates[27].name = "Reterms";
		candidates[28].name = "Sensefinity";
		candidates[29].name = "Solomon Ears";
		candidates[30].name = "Space Invoices";
		candidates[31].name = "Step Online";
		candidates[32].name = "TMA";
		candidates[33].name = "Zemlja&Morje";
	}

	// Enabling and disabling the voting process
	function startVoting() public onlyOwner {
		require(votingClosingTime == 0, "Voting already started once!");
		votingClosingTime = block.timestamp + 7 days;
	}

	event WalletApproved(address wallet, address ERC725Address);
	event WalletRejected(address wallet, address ERC725Address, string reason);
	event WalletVoted(address wallet, string firstChoice, string secondChoice, string thirdChoice);

	// Setting and getting voting approval for wallets
	function approveMultipleWallets(address[] wallets, address[] ERC725Addresses) public onlyOwner {
		require(votingClosingTime == 0, "Voting already started!");
		require(wallets.length <= 50, "Cannot approve more than 50 wallets at a time!");
		require(wallets.length == ERC725Addresses.length, "Arrays are not the same length!");
		uint256 i = 0;
		for(i = 0; i < wallets.length && i < 50; i = i + 1) {
			walletApproved[wallets[i]] = false;

			if (wallets[i] == address(0) && ERC725Addresses[i] == address(0)) {
				emit WalletRejected(wallets[i], ERC725Addresses[i], 
						"Cannot verify an empty application!");
			}
			else {
				if(ERC725Addresses[i] != address(0)) {
					if(profileStorageContract.getStake(ERC725Addresses[i]) >= 10^21) {
						walletApproved[ERC725Addresses[i]] = true;
						emit WalletApproved(address(0), ERC725Addresses[i]);
					}
					else {
						emit WalletRejected(wallets[i], ERC725Addresses[i], 
							"Profile does not have at least 1000 trac at the time of approval!");
					}	
				}
				else {
					// Only wallet was submitted 
						// -> Verify wallet balance and approve wallet
					if(tokenContract.balanceOf(wallets[i]) >= 10^21) {
						walletApproved[wallets[i]] = true;
						emit WalletApproved(wallets[i], address(0));
					}
					else {
						emit WalletRejected(wallets[i], address(0), 
							"Wallet does not have at least 1000 trac at the time of approval!");
					}
				}
			}
		}
	}
	function disapproveMultipleWallets(address[] wallets) public onlyOwner {
		require(wallets.length <= 50, "Cannot approve more than 50 wallets at a time!");
		uint256 i = 0;
		for(i = 0; i < wallets.length && i < 50; i = i + 1) {
			walletApproved[wallets[i]] = false;
			emit WalletRejected(wallets[i], address(0), "Wallet approval removed!");
		}
	}
	function isWalletApproved(address wallet) public view returns (bool) {
		return walletApproved[wallet];
	}


	function vote(uint256[] candidateIndexes) public {
		require(votingClosingTime != 0, "Voting has not yet started!");
		require(votingClosingTime >= block.timestamp, "Voting period has expired!");

		require(walletApproved[msg.sender] == true, "Sender is not approved and thus cannot vote!");
		
		require(walletVoted[msg.sender] == false, "Sender already voted!");

		require(candidateIndexes.length == 3, "Must vote for 3 candidates!");

		require(candidateIndexes[0] != candidateIndexes[1], "Cannot cast multiple votes for the same person!");
		require(candidateIndexes[1] != candidateIndexes[2], "Cannot cast multiple votes for the same person!");
		require(candidateIndexes[2] != candidateIndexes[0], "Cannot cast multiple votes for the same person!");

		require(candidateIndexes[0] >= 0 && candidateIndexes[0] < candidates.length, "The selected candidate does not exist!");
		require(candidateIndexes[1] >= 0 && candidateIndexes[1] < candidates.length, "The selected candidate does not exist!");
		require(candidateIndexes[2] >= 0 && candidateIndexes[2] < candidates.length, "The selected candidate does not exist!");

		walletVoted[msg.sender] = true;
		emit WalletVoted(msg.sender, candidates[candidateIndexes[0]].name, candidates[candidateIndexes[1]].name, candidates[candidateIndexes[2]].name);

		assert(candidates[candidateIndexes[0]].votes + 3 > candidates[candidateIndexes[0]].votes);
		candidates[candidateIndexes[0]].votes = candidates[candidateIndexes[0]].votes + 3;		

		assert(candidates[candidateIndexes[1]].votes + 2 > candidates[candidateIndexes[1]].votes);
		candidates[candidateIndexes[1]].votes = candidates[candidateIndexes[1]].votes + 2;		
	
		assert(candidates[candidateIndexes[2]].votes + 1 > candidates[candidateIndexes[2]].votes);
		candidates[candidateIndexes[2]].votes = candidates[candidateIndexes[2]].votes + 1;		
	
		require(tokenContract.balanceOf(msg.sender) >= 10^21, "Sender does not have at least 1000 TRAC and thus cannot vote!");
	}

	function voteWithProfile(uint256[] candidateIndexes, address ERC725Address) public {
		require(votingClosingTime != 0, "Voting has not yet started!");
		require(votingClosingTime >= block.timestamp, "Voting period has expired!");
		
		require(walletApproved[msg.sender] == true || walletApproved[ERC725Address] == true, "Sender is not approved and thus cannot vote!");

		require(walletVoted[msg.sender] == false, "Sender already voted!");
		require(walletVoted[ERC725Address] == false, "Profile was already used for voting!");

		require(candidateIndexes.length == 3, "Must vote for 3 candidates!");

		require(candidateIndexes[0] != candidateIndexes[1], "Cannot cast multiple votes for the same person!");
		require(candidateIndexes[1] != candidateIndexes[2], "Cannot cast multiple votes for the same person!");
		require(candidateIndexes[2] != candidateIndexes[0], "Cannot cast multiple votes for the same person!");

		require(candidateIndexes[0] >= 0 && candidateIndexes[0] < candidates.length, "The selected candidate does not exist!");
		require(candidateIndexes[1] >= 0 && candidateIndexes[1] < candidates.length, "The selected candidate does not exist!");
		require(candidateIndexes[2] >= 0 && candidateIndexes[2] < candidates.length, "The selected candidate does not exist!");

		walletVoted[msg.sender] = true;
		walletVoted[ERC725Address] = true;
		emit WalletVoted(msg.sender, candidates[candidateIndexes[0]].name, candidates[candidateIndexes[1]].name, candidates[candidateIndexes[2]].name);
		
		assert(candidates[candidateIndexes[0]].votes + 3 > candidates[candidateIndexes[0]].votes);
		candidates[candidateIndexes[0]].votes = candidates[candidateIndexes[0]].votes + 3;		

		assert(candidates[candidateIndexes[1]].votes + 2 > candidates[candidateIndexes[1]].votes);
		candidates[candidateIndexes[1]].votes = candidates[candidateIndexes[1]].votes + 2;		
	
		assert(candidates[candidateIndexes[2]].votes + 1 > candidates[candidateIndexes[2]].votes);
		candidates[candidateIndexes[2]].votes = candidates[candidateIndexes[2]].votes + 1;		

		require(ERC725(ERC725Address).keyHasPurpose(keccak256(abi.encodePacked(msg.sender)), 2), 
			"Sender is not the management wallet for this ERC725 identity!");
			
		require(tokenContract.balanceOf(msg.sender) >= 10^21 || profileStorageContract.getStake(ERC725Address) >= 10^21,
		    "Neither the sender nor the submitted profile have at least 1000 TRAC and thus cannot vote!");
	}
}

Contract ABI
[{"constant":false,"inputs":[],"name":"startVoting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"candidates","outputs":[{"name":"name","type":"string"},{"name":"votes","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"wallet","type":"address"}],"name":"isWalletApproved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletApproved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"votingClosingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletVoted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"candidateIndexes","type":"uint256[]"},{"name":"ERC725Address","type":"address"}],"name":"voteWithProfile","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"candidateIndexes","type":"uint256[]"}],"name":"vote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wallets","type":"address[]"}],"name":"disapproveMultipleWallets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"profileStorageContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wallets","type":"address[]"},{"name":"ERC725Addresses","type":"address[]"}],"name":"approveMultipleWallets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"tokenContractAddress","type":"address"},{"name":"profileStorageContractAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"wallet","type":"address"},{"indexed":false,"name":"ERC725Address","type":"address"}],"name":"WalletApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"wallet","type":"address"},{"indexed":false,"name":"ERC725Address","type":"address"},{"indexed":false,"name":"reason","type":"string"}],"name":"WalletRejected","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"wallet","type":"address"},{"indexed":false,"name":"firstChoice","type":"string"},{"indexed":false,"name":"secondChoice","type":"string"},{"indexed":false,"name":"thirdChoice","type":"string"}],"name":"WalletVoted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Contract Creation Code
60806040523480156200001157600080fd5b506040516040806200358b83398101604081815282516020938401516000805433600160a060020a0319918216178255600380548216600160a060020a038087169190911790915560048054909216908416179055600555828401909252600c8084527f41697220536f757263696e67000000000000000000000000000000000000000094909301938452929091620000ad9160069162000a01565b506040805180820190915260078082527f416d65746c6162000000000000000000000000000000000000000000000000006020909201918252620000f49160089162000a01565b506040805160608101825260368082527f4232422053656374696f6e206f6620536c6f76656e69616e20426c6f636b6368602083019081527f61696e204173736f63696174696f6e202853424341290000000000000000000092909301919091526200016391600a9162000a01565b5060408051808201909152600b8082527f42656c656166202620436f0000000000000000000000000000000000000000006020909201918252620001aa91600c9162000a01565b5060408051808201909152600c8082527f42696f47656e6f6d20322e3000000000000000000000000000000000000000006020909201918252620001f191600e9162000a01565b5060408051808201909152600f8082527f43414d20456e67696e656572696e6700000000000000000000000000000000006020909201918252620002389160109162000a01565b506040805180820190915260138082527f44697370656e736120446569205469706963690000000000000000000000000060209092019182526200027f9160129162000a01565b5060408051808201909152600d8082527f46757a7a7920466163746f7279000000000000000000000000000000000000006020909201918252620002c69160149162000a01565b5060408051808201909152600c8082527f47534320506c6174666f726d000000000000000000000000000000000000000060209092019182526200030d9160169162000a01565b5060408051808201909152600e8082527f487964726157617265686f7573650000000000000000000000000000000000006020909201918252620003549160189162000a01565b506040805180820190915260098082527f496269732045746568000000000000000000000000000000000000000000000060209092019182526200039b91601a9162000a01565b506040805180820190915260098082527f496e666f7472616e7300000000000000000000000000000000000000000000006020909201918252620003e291601c9162000a01565b5060408051808201909152600a8082527f496e74656c6973616c650000000000000000000000000000000000000000000060209092019182526200042991601e9162000a01565b506040805180820190915260068082527f4973746d6f73000000000000000000000000000000000000000000000000000060209283019081526200046e929162000a01565b5060408051808201909152600d8082527f49767920466f6f642054656368000000000000000000000000000000000000006020909201918252620004b59160229162000a01565b5060408051808201909152600d8082527f4a6f75726e657920466f6f6473000000000000000000000000000000000000006020909201918252620004fc9160249162000a01565b506040805180820190915260068082527f4b616b61786900000000000000000000000000000000000000000000000000006020909201918252620005439160269162000a01565b506040805180820190915260048082527f4c2e436f0000000000000000000000000000000000000000000000000000000060209092019182526200058a9160289162000a01565b5060408051808201909152600a8082527f4c796e7157616c6c6574000000000000000000000000000000000000000000006020909201918252620005d191602a9162000a01565b5060408051808201909152600f8082527f4d656469636f4865616c7468204147000000000000000000000000000000000060209092019182526200061891602c9162000a01565b5060408051808201909152600d8082527f4d6f6b75204d656e6568756e650000000000000000000000000000000000000060209092019182526200065f91602e9162000a01565b506040805180820190915260068082527f4e657453444c00000000000000000000000000000000000000000000000000006020909201918252620006a69160309162000a01565b506040805180820190915260068082527f4f726368697400000000000000000000000000000000000000000000000000006020909201918252620006ed9160329162000a01565b506040805180820190915260098082527f50687932547261636500000000000000000000000000000000000000000000006020909201918252620007349160349162000a01565b506040805180820190915260098082527f50726f63757265616e000000000000000000000000000000000000000000000060209092019182526200077b9160369162000a01565b506040805180820190915260088082527f507379436861696e0000000000000000000000000000000000000000000000006020909201918252620007c29160389162000a01565b506040805180820190915260088082527f5265616c4d65616c00000000000000000000000000000000000000000000000060209092019182526200080991603a9162000a01565b506040805180820190915260078082527f52657465726d730000000000000000000000000000000000000000000000000060209092019182526200085091603c9162000a01565b5060408051808201909152600b8082527f53656e736566696e69747900000000000000000000000000000000000000000060209092019182526200089791603e9162000a01565b50604080518082018252600c8082527f536f6c6f6d6f6e204561727300000000000000000000000000000000000000006020909201918252620008dc92919062000a01565b5060408051808201909152600e8082527f537061636520496e766f696365730000000000000000000000000000000000006020909201918252620009239160429162000a01565b5060408051808201909152600b8082527f53746570204f6e6c696e6500000000000000000000000000000000000000000060209092019182526200096a9160449162000a01565b506040805180820190915260038082527f544d4100000000000000000000000000000000000000000000000000000000006020909201918252620009b19160469162000a01565b5060408051808201909152600c8082527f5a656d6c6a61264d6f726a6500000000000000000000000000000000000000006020909201918252620009f89160489162000a01565b50505062000aa6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a4457805160ff191683800117855562000a74565b8280016001018555821562000a74579182015b8281111562000a7457825182559160200191906001019062000a57565b5062000a8292915062000a86565b5090565b62000aa391905b8082111562000a82576000815560010162000a8d565b90565b612ad58062000ab66000396000f3006080604052600436106100b65763ffffffff60e060020a6000350416631ec6b60a81146100bb5780633477ee2e146100d25780633657e8511461016957806355a373d61461019e578063731bfb0e146101cf578063893c1562146101f05780638da5cb5b14610217578063a41b34f11461022c578063c43e245c1461024d578063ce11f2bb146102ad578063e27c77b614610302578063e8165e1814610357578063ec2d126a1461036c578063f2fde38b146103fa575b600080fd5b3480156100c757600080fd5b506100d061041b565b005b3480156100de57600080fd5b506100ea6004356104e2565b6040518080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561012d578181015183820152602001610115565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561017557600080fd5b5061018a600160a060020a036004351661058e565b604080519115158252519081900360200190f35b3480156101aa57600080fd5b506101b36105ac565b60408051600160a060020a039092168252519081900360200190f35b3480156101db57600080fd5b5061018a600160a060020a03600435166105bb565b3480156101fc57600080fd5b506102056105d0565b60408051918252519081900360200190f35b34801561022357600080fd5b506101b36105d6565b34801561023857600080fd5b5061018a600160a060020a03600435166105e5565b34801561025957600080fd5b50604080516020600480358082013583810280860185019096528085526100d09536959394602494938501929182918501908490808284375094975050509235600160a060020a031693506105fa92505050565b3480156102b957600080fd5b50604080516020600480358082013583810280860185019096528085526100d0953695939460249493850192918291850190849080828437509497506114579650505050505050565b34801561030e57600080fd5b50604080516020600480358082013583810280860185019096528085526100d095369593946024949385019291829185019084908082843750949750611f799650505050505050565b34801561036357600080fd5b506101b3612147565b34801561037857600080fd5b50604080516020600480358082013583810280860185019096528085526100d095369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506121569650505050505050565b34801561040657600080fd5b506100d0600160a060020a03600435166128e8565b600054600160a060020a0316331461047f576040805160e560020a62461bcd02815260206004820152602a6024820152600080516020612a6a8339815191526044820152600080516020612a0a833981519152606482015290519081900360840190fd5b600554156104d7576040805160e560020a62461bcd02815260206004820152601c60248201527f566f74696e6720616c72656164792073746172746564206f6e63652100000000604482015290519081900360640190fd5b62093a804201600555565b600681602281106104ef57fe5b60029081029190910180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845291935083919083018282801561057e5780601f106105535761010080835404028352916020019161057e565b820191906000526020600020905b81548152906001019060200180831161056157829003601f168201915b5050505050908060010154905082565b600160a060020a031660009081526001602052604090205460ff1690565b600354600160a060020a031681565b60016020526000908152604090205460ff1681565b60055481565b600054600160a060020a031681565b60026020526000908152604090205460ff1681565b6005541515610653576040805160e560020a62461bcd02815260206004820152601b60248201527f566f74696e6720686173206e6f74207965742073746172746564210000000000604482015290519081900360640190fd5b6005544211156106ad576040805160e560020a62461bcd02815260206004820152601a60248201527f566f74696e6720706572696f6420686173206578706972656421000000000000604482015290519081900360640190fd5b3360009081526001602081905260409091205460ff16151514806106ef5750600160a060020a03811660009081526001602081905260409091205460ff161515145b151561076b576040805160e560020a62461bcd02815260206004820152602c60248201527f53656e646572206973206e6f7420617070726f76656420616e6420746875732060448201527f63616e6e6f7420766f7465210000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526002602052604090205460ff16156107d3576040805160e560020a62461bcd02815260206004820152601560248201527f53656e64657220616c726561647920766f746564210000000000000000000000604482015290519081900360640190fd5b600160a060020a03811660009081526002602052604090205460ff1615610869576040805160e560020a62461bcd028152602060048201526024808201527f50726f66696c652077617320616c7265616479207573656420666f7220766f7460448201527f696e672100000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b81516003146108c2576040805160e560020a62461bcd02815260206004820152601b60248201527f4d75737420766f746520666f7220332063616e64696461746573210000000000604482015290519081900360640190fd5b8160018151811015156108d157fe5b906020019060200201518260008151811015156108ea57fe5b60209081029091010151141561094c576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206129ea8339815191526044820152600080516020612a8a833981519152606482015290519081900360840190fd5b81600281518110151561095b57fe5b9060200190602002015182600181518110151561097457fe5b6020908102909101015114156109d6576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206129ea8339815191526044820152600080516020612a8a833981519152606482015290519081900360840190fd5b8160008151811015156109e557fe5b906020019060200201518260028151811015156109fe57fe5b602090810290910101511415610a60576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206129ea8339815191526044820152600080516020612a8a833981519152606482015290519081900360840190fd5b6000826000815181101515610a7157fe5b9060200190602002015110158015610aa157506022826000815181101515610a9557fe5b90602001906020020151105b1515610af9576040805160e560020a62461bcd0281526020600482015260266024820152600080516020612a4a83398151915260448201526000805160206129ca833981519152606482015290519081900360840190fd5b6000826001815181101515610b0a57fe5b9060200190602002015110158015610b3a57506022826001815181101515610b2e57fe5b90602001906020020151105b1515610b92576040805160e560020a62461bcd0281526020600482015260266024820152600080516020612a4a83398151915260448201526000805160206129ca833981519152606482015290519081900360840190fd5b6000826002815181101515610ba357fe5b9060200190602002015110158015610bd357506022826002815181101515610bc757fe5b90602001906020020151105b1515610c2b576040805160e560020a62461bcd0281526020600482015260266024820152600080516020612a4a83398151915260448201526000805160206129ca833981519152606482015290519081900360840190fd5b336000818152600260205260408082208054600160ff199182168117909255600160a060020a0386168452918320805490921617905583517f1d547c1491939c0beeaca1341ce79ca7c1405c8d1b31adeb5084ae6826cbf39d92916006918691908110610c9457fe5b6020908102909101015160228110610ca857fe5b600202016000016006856001815181101515610cc057fe5b6020908102909101015160228110610cd457fe5b600202016000016006866002815181101515610cec57fe5b6020908102909101015160228110610d0057fe5b60408051600160a060020a03871681526080602082018181528754600260001961010060018416150201909116819004928401839052949094029490940193909291830190606084019060a085019088908015610d9e5780601f10610d7357610100808354040283529160200191610d9e565b820191906000526020600020905b815481529060010190602001808311610d8157829003601f168201915b5050848103835286546002600019610100600184161502019091160480825260209091019087908015610e125780601f10610de757610100808354040283529160200191610e12565b820191906000526020600020905b815481529060010190602001808311610df557829003601f168201915b5050848103825285546002600019610100600184161502019091160480825260209091019086908015610e865780601f10610e5b57610100808354040283529160200191610e86565b820191906000526020600020905b815481529060010190602001808311610e6957829003601f168201915b505097505050505050505060405180910390a16006826000815181101515610eaa57fe5b6020908102909101015160228110610ebe57fe5b60020201600101546006836000815181101515610ed757fe5b6020908102909101015160228110610eeb57fe5b6002020160010154600301111515610eff57fe5b6006826000815181101515610f1057fe5b6020908102909101015160228110610f2457fe5b60020201600101546003016006836000815181101515610f4057fe5b6020908102909101015160228110610f5457fe5b60020201600101819055506006826001815181101515610f7057fe5b6020908102909101015160228110610f8457fe5b60020201600101546006836001815181101515610f9d57fe5b6020908102909101015160228110610fb157fe5b6002020160010154600201111515610fc557fe5b6006826001815181101515610fd657fe5b6020908102909101015160228110610fea57fe5b6002020160010154600201600683600181518110151561100657fe5b602090810290910101516022811061101a57fe5b6002020160010181905550600682600281518110151561103657fe5b602090810290910101516022811061104a57fe5b6002020160010154600683600281518110151561106357fe5b602090810290910101516022811061107757fe5b600202016001015460010111151561108b57fe5b600682600281518110151561109c57fe5b60209081029091010151602281106110b057fe5b600202016001015460010160068360028151811015156110cc57fe5b60209081029091010151602281106110e057fe5b600202016001018190555080600160a060020a031663d202158d336040516020018082600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b6020831061116a5780518252601f19909201916020918201910161114b565b51815160209384036101000a60001901801990921691161790526040805192909401829003822063ffffffff881660e060020a028352600483015260026024830152925160448083019650939450929083900301905081600087803b1580156111d257600080fd5b505af11580156111e6573d6000803e3d6000fd5b505050506040513d60208110156111fc57600080fd5b5051151561127a576040805160e560020a62461bcd02815260206004820152603d60248201527f53656e646572206973206e6f7420746865206d616e6167656d656e742077616c60448201527f6c657420666f72207468697320455243373235206964656e7469747921000000606482015290519081900360840190fd5b600354604080517f70a082310000000000000000000000000000000000000000000000000000000081523360048201529051601f92600160a060020a0316916370a082319160248083019260209291908290030181600087803b1580156112e057600080fd5b505af11580156112f4573d6000803e3d6000fd5b505050506040513d602081101561130a57600080fd5b50511015806113b1575060048054604080517f7a766460000000000000000000000000000000000000000000000000000000008152600160a060020a03858116948201949094529051601f9390921691637a766460916024808201926020929091908290030181600087803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b505050506040513d60208110156113ac57600080fd5b505110155b1515611453576040805160e560020a62461bcd02815260206004820152605a60248201527f4e656974686572207468652073656e646572206e6f7220746865207375626d6960448201527f747465642070726f66696c652068617665206174206c6561737420313030302060648201527f5452414320616e6420746875732063616e6e6f7420766f746521000000000000608482015290519081900360a40190fd5b5050565b60055415156114b0576040805160e560020a62461bcd02815260206004820152601b60248201527f566f74696e6720686173206e6f74207965742073746172746564210000000000604482015290519081900360640190fd5b60055442111561150a576040805160e560020a62461bcd02815260206004820152601a60248201527f566f74696e6720706572696f6420686173206578706972656421000000000000604482015290519081900360640190fd5b3360009081526001602081905260409091205460ff1615151461159d576040805160e560020a62461bcd02815260206004820152602c60248201527f53656e646572206973206e6f7420617070726f76656420616e6420746875732060448201527f63616e6e6f7420766f7465210000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526002602052604090205460ff1615611605576040805160e560020a62461bcd02815260206004820152601560248201527f53656e64657220616c726561647920766f746564210000000000000000000000604482015290519081900360640190fd5b805160031461165e576040805160e560020a62461bcd02815260206004820152601b60248201527f4d75737420766f746520666f7220332063616e64696461746573210000000000604482015290519081900360640190fd5b80600181518110151561166d57fe5b9060200190602002015181600081518110151561168657fe5b6020908102909101015114156116e8576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206129ea8339815191526044820152600080516020612a8a833981519152606482015290519081900360840190fd5b8060028151811015156116f757fe5b9060200190602002015181600181518110151561171057fe5b602090810290910101511415611772576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206129ea8339815191526044820152600080516020612a8a833981519152606482015290519081900360840190fd5b80600081518110151561178157fe5b9060200190602002015181600281518110151561179a57fe5b6020908102909101015114156117fc576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206129ea8339815191526044820152600080516020612a8a833981519152606482015290519081900360840190fd5b600081600081518110151561180d57fe5b906020019060200201511015801561183d5750602281600081518110151561183157fe5b90602001906020020151105b1515611895576040805160e560020a62461bcd0281526020600482015260266024820152600080516020612a4a83398151915260448201526000805160206129ca833981519152606482015290519081900360840190fd5b60008160018151811015156118a657fe5b90602001906020020151101580156118d6575060228160018151811015156118ca57fe5b90602001906020020151105b151561192e576040805160e560020a62461bcd0281526020600482015260266024820152600080516020612a4a83398151915260448201526000805160206129ca833981519152606482015290519081900360840190fd5b600081600281518110151561193f57fe5b906020019060200201511015801561196f5750602281600281518110151561196357fe5b90602001906020020151105b15156119c7576040805160e560020a62461bcd0281526020600482015260266024820152600080516020612a4a83398151915260448201526000805160206129ca833981519152606482015290519081900360840190fd5b336000818152600260205260408120805460ff1916600117905582517f1d547c1491939c0beeaca1341ce79ca7c1405c8d1b31adeb5084ae6826cbf39d92916006918591908110611a1457fe5b6020908102909101015160228110611a2857fe5b600202016000016006846001815181101515611a4057fe5b6020908102909101015160228110611a5457fe5b600202016000016006856002815181101515611a6c57fe5b6020908102909101015160228110611a8057fe5b60408051600160a060020a03871681526080602082018181528754600260001961010060018416150201909116819004928401839052949094029490940193909291830190606084019060a085019088908015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b5050848103835286546002600019610100600184161502019091160480825260209091019087908015611b925780601f10611b6757610100808354040283529160200191611b92565b820191906000526020600020905b815481529060010190602001808311611b7557829003601f168201915b5050848103825285546002600019610100600184161502019091160480825260209091019086908015611c065780601f10611bdb57610100808354040283529160200191611c06565b820191906000526020600020905b815481529060010190602001808311611be957829003601f168201915b505097505050505050505060405180910390a16006816000815181101515611c2a57fe5b6020908102909101015160228110611c3e57fe5b60020201600101546006826000815181101515611c5757fe5b6020908102909101015160228110611c6b57fe5b6002020160010154600301111515611c7f57fe5b6006816000815181101515611c9057fe5b6020908102909101015160228110611ca457fe5b60020201600101546003016006826000815181101515611cc057fe5b6020908102909101015160228110611cd457fe5b60020201600101819055506006816001815181101515611cf057fe5b6020908102909101015160228110611d0457fe5b60020201600101546006826001815181101515611d1d57fe5b6020908102909101015160228110611d3157fe5b6002020160010154600201111515611d4557fe5b6006816001815181101515611d5657fe5b6020908102909101015160228110611d6a57fe5b60020201600101546002016006826001815181101515611d8657fe5b6020908102909101015160228110611d9a57fe5b60020201600101819055506006816002815181101515611db657fe5b6020908102909101015160228110611dca57fe5b60020201600101546006826002815181101515611de357fe5b6020908102909101015160228110611df757fe5b6002020160010154600101111515611e0b57fe5b6006816002815181101515611e1c57fe5b6020908102909101015160228110611e3057fe5b60020201600101546001016006826002815181101515611e4c57fe5b6020908102909101015160228110611e6057fe5b6002020160010155600354604080517f70a082310000000000000000000000000000000000000000000000000000000081523360048201529051601f92600160a060020a0316916370a082319160248083019260209291908290030181600087803b158015611ece57600080fd5b505af1158015611ee2573d6000803e3d6000fd5b505050506040513d6020811015611ef857600080fd5b50511015611f76576040805160e560020a62461bcd02815260206004820152603d60248201527f53656e64657220646f6573206e6f742068617665206174206c6561737420313060448201527f3030205452414320616e6420746875732063616e6e6f7420766f746521000000606482015290519081900360840190fd5b50565b60008054600160a060020a03163314611fde576040805160e560020a62461bcd02815260206004820152602a6024820152600080516020612a6a8339815191526044820152600080516020612a0a833981519152606482015290519081900360840190fd5b81516032101561205e576040805160e560020a62461bcd02815260206004820152602e60248201527f43616e6e6f7420617070726f7665206d6f7265207468616e2035302077616c6c60448201527f65747320617420612074696d6521000000000000000000000000000000000000606482015290519081900360840190fd5b5060005b8151811080156120725750603281105b1561145357600060016000848481518110151561208b57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790558151600080516020612a2a833981519152908390839081106120db57fe5b602090810290910181015160408051600160a060020a03909216825260009282019290925260608183018190526018908201527f57616c6c657420617070726f76616c2072656d6f766564210000000000000000608082015290519081900360a00190a1600101612062565b600454600160a060020a031681565b60008054600160a060020a031633146121bb576040805160e560020a62461bcd02815260206004820152602a6024820152600080516020612a6a8339815191526044820152600080516020612a0a833981519152606482015290519081900360840190fd5b60055415612213576040805160e560020a62461bcd02815260206004820152601760248201527f566f74696e6720616c7265616479207374617274656421000000000000000000604482015290519081900360640190fd5b825160321015612293576040805160e560020a62461bcd02815260206004820152602e60248201527f43616e6e6f7420617070726f7665206d6f7265207468616e2035302077616c6c60448201527f65747320617420612074696d6521000000000000000000000000000000000000606482015290519081900360840190fd5b81518351146122ec576040805160e560020a62461bcd02815260206004820152601f60248201527f41727261797320617265206e6f74207468652073616d65206c656e6774682100604482015290519081900360640190fd5b5060005b8251811080156123005750603281105b156128e357600060016000858481518110151561231957fe5b602090810291909101810151600160a060020a031682528101919091526040016000908120805460ff191692151592909217909155835184908390811061235c57fe5b90602001906020020151600160a060020a031614801561239d5750815160009083908390811061238857fe5b90602001906020020151600160a060020a0316145b1561246757600080516020612a2a83398151915283828151811015156123bf57fe5b9060200190602002015183838151811015156123d757fe5b602090810290910181015160408051600160a060020a039485168152939091169183019190915260608282018190526023908301527f43616e6e6f742076657269667920616e20656d707479206170706c696361746960808301527f6f6e21000000000000000000000000000000000000000000000000000000000060a0830152519081900360c00190a16128db565b815160009083908390811061247857fe5b60209081029091010151600160a060020a0316146126e0576004548251601f91600160a060020a031690637a766460908590859081106124b457fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561250957600080fd5b505af115801561251d573d6000803e3d6000fd5b505050506040513d602081101561253357600080fd5b5051106125f4576001806000848481518110151561254d57fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbec08b8efdf9dc7b9f98864f4176d2ef3f5e9a67885a39913540e41b23b15872600083838151811015156125bf57fe5b602090810290910181015160408051600160a060020a03948516815293909116918301919091528051918290030190a16126db565b600080516020612a2a833981519152838281518110151561261157fe5b90602001906020020151838381518110151561262957fe5b602090810290910181015160408051600160a060020a039485168152939091169183019190915260608282018190526041908301527f50726f66696c6520646f6573206e6f742068617665206174206c65617374203160808301527f3030302074726163206174207468652074696d65206f6620617070726f76616c60a08301527f210000000000000000000000000000000000000000000000000000000000000060c0830152519081900360e00190a15b6128db565b6003548351601f91600160a060020a0316906370a082319086908590811061270457fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561275957600080fd5b505af115801561276d573d6000803e3d6000fd5b505050506040513d602081101561278357600080fd5b505110612834576001806000858481518110151561279d57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905582517fbec08b8efdf9dc7b9f98864f4176d2ef3f5e9a67885a39913540e41b23b15872908490839081106127ff57fe5b602090810290910181015160408051600160a060020a03909216825260009282019290925281519081900390910190a16128db565b600080516020612a2a833981519152838281518110151561285157fe5b602090810290910181015160408051600160a060020a039092168252600092820192909252606081830181905281018290527f57616c6c657420646f6573206e6f742068617665206174206c6561737420313060808201527f30302074726163206174207468652074696d65206f6620617070726f76616c2160a082015290519081900360c00190a15b6001016122f0565b505050565b600054600160a060020a0316331461294c576040805160e560020a62461bcd02815260206004820152602a6024820152600080516020612a6a8339815191526044820152600080516020612a0a833981519152606482015290519081900360840190fd5b600160a060020a038116151561296157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600657869737421000000000000000000000000000000000000000000000000000043616e6e6f742063617374206d756c7469706c6520766f74657320666f722074732066756e6374696f6e000000000000000000000000000000000000000000006ef1700b51b5cb6fde9c61ff386c044d083a543eedc6742dd5efb67285d770935468652073656c65637465642063616e64696461746520646f6573206e6f74204f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686968652073616d6520706572736f6e210000000000000000000000000000000000a165627a7a72305820eb97026b5e7a969beaff6d503381841f91522ab2ec4c5f8615243aa9881c43430029000000000000000000000000aa7a9ca87d3694b5755f213b5d04094b8d0f0a6f000000000000000000000000306d5e8af6aeb73359dcc5e22c894e2588f76ffb


    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000aa7a9ca87d3694b5755f213b5d04094b8d0f0a6f000000000000000000000000306d5e8af6aeb73359dcc5e22c894e2588f76ffb

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000aa7a9ca87d3694b5755f213b5d04094b8d0f0a6f
Arg [1] : 000000000000000000000000306d5e8af6aeb73359dcc5e22c894e2588f76ffb


   Swarm Source:
bzzr://eb97026b5e7a969beaff6d503381841f91522ab2ec4c5f8615243aa9881c4343
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.