Latest 25 from a total of 4,306 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21403192 | 13 days ago | IN | 0 ETH | 0.00043306 | ||||
Approve | 21357413 | 19 days ago | IN | 0 ETH | 0.00019354 | ||||
Approve | 21349027 | 20 days ago | IN | 0 ETH | 0.00061597 | ||||
Approve | 21323007 | 24 days ago | IN | 0 ETH | 0.00099989 | ||||
Approve | 21323006 | 24 days ago | IN | 0 ETH | 0.00105688 | ||||
Approve | 21323004 | 24 days ago | IN | 0 ETH | 0.00092828 | ||||
Approve | 21323002 | 24 days ago | IN | 0 ETH | 0.00180769 | ||||
Approve | 21287651 | 29 days ago | IN | 0 ETH | 0.00040324 | ||||
Approve | 21251512 | 34 days ago | IN | 0 ETH | 0.00123329 | ||||
Approve | 21193274 | 42 days ago | IN | 0 ETH | 0.00079991 | ||||
Approve | 21167904 | 46 days ago | IN | 0 ETH | 0.00115103 | ||||
Approve | 21167900 | 46 days ago | IN | 0 ETH | 0.00192741 | ||||
Approve | 21166573 | 46 days ago | IN | 0 ETH | 0.00207278 | ||||
Approve | 21165858 | 46 days ago | IN | 0 ETH | 0.00254131 | ||||
Approve | 21165850 | 46 days ago | IN | 0 ETH | 0.00165512 | ||||
Approve | 21156991 | 47 days ago | IN | 0 ETH | 0.00068586 | ||||
Approve | 21155416 | 47 days ago | IN | 0 ETH | 0.00067874 | ||||
Approve | 21124214 | 52 days ago | IN | 0 ETH | 0.00012956 | ||||
Approve | 21124207 | 52 days ago | IN | 0 ETH | 0.00021891 | ||||
Approve | 21067459 | 60 days ago | IN | 0 ETH | 0.00038424 | ||||
Approve | 21042817 | 63 days ago | IN | 0 ETH | 0.00039291 | ||||
Approve | 21037334 | 64 days ago | IN | 0 ETH | 0.00055325 | ||||
Approve | 21037205 | 64 days ago | IN | 0 ETH | 0.00059114 | ||||
Approve | 21035867 | 64 days ago | IN | 0 ETH | 0.00050962 | ||||
Transfer | 21025831 | 66 days ago | IN | 0 ETH | 0.00106936 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
12401637 | 1328 days ago | 0.73419561 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.2.11
Contract Source Code (Vyper language format)
# @version ^0.2.11 # @dev Implementation of multi-layers space and time rebasing ERC-20 token standard. # @dev copyright [email protected] and [email protected] # based on https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md from vyper.interfaces import ERC20 implements: ERC20 event Transfer: sender: indexed(address) receiver: indexed(address) value: uint256 event Approval: owner: indexed(address) spender: indexed(address) value: uint256 event ReceivedEther: sender: indexed(address) value: uint256 event OwnershipTransferred: previousOwner: indexed(address) newOwner: indexed(address) # EIP-20 compliant name symbol and decimals name: public(String[64]) symbol: public(String[32]) decimals: public(uint256) # additional decimals used for calculations scale: public(uint256) # exponent expanse: public(int128) extent: public(uint256) extent_max: public(uint256) # temporal timer initpulse: public(uint256) nextpulse: public(uint256) struct Account: amount: uint256 lode: uint256 expanse: int128 struct Lode: total: uint256 total_e: uint256 expanse: int128 tax_id: uint256 itaxfree: bool etaxfree: bool NUM_OF_TEMPORAL_LODES: constant(uint256) = 25 STAKING_LODE: constant(uint256) = NUM_OF_TEMPORAL_LODES # 25 FROZEN_LODE: constant(uint256) = STAKING_LODE + 1 #26 RESERVE_LODE: constant(uint256) = FROZEN_LODE + 1 #27 SAFE_LODE: constant(uint256) = RESERVE_LODE + 1 #28 RESERVED1_LODE: constant(uint256) = SAFE_LODE + 1 #29 NUM_OF_LODES: constant(uint256) = 32 NUM_OF_TAX_POLICIES: constant(uint256) = 4 owner: address currentLode: public(uint256) transferLocked: public(bool) taxOn: public(bool) temporal_tax_num: public(uint256) temporal_tax_num2: public(uint256) temporal_tax_den: public(uint256) tax_numerators: public(uint256[NUM_OF_LODES][NUM_OF_TAX_POLICIES]) tax_numeratorsum: public(uint256[NUM_OF_TAX_POLICIES]) tax_denominator: public(uint256[NUM_OF_TAX_POLICIES]) tax_toflush: public(uint256[NUM_OF_TAX_POLICIES]) tax_airdrop_num: public(uint256) tax_airdrop_den: public(uint256) lodes: Lode[NUM_OF_LODES] accounts: HashMap[address, Account] allowances: HashMap[address, HashMap[address, uint256]] privileged: HashMap[address, bool] arbtrust: HashMap[address, bool] @internal def _deallocate0(_debtor: address) -> uint256: """ @dev deallocate all funds from a wallet @param _debtor The address to deallocate all the funds from. @return An uint256 specifying the amount of scaled tokens remaining """ debtor: Account = self.accounts[_debtor] slode: Lode = self.lodes[debtor.lode] amount_e: uint256 = debtor.amount if amount_e == 0: self.accounts[_debtor] = empty(Account) return 0 if debtor.expanse != slode.expanse: amount_e = shift(debtor.amount, debtor.expanse - slode.expanse) amount_s: uint256 = amount_e * slode.total / slode.total_e self.accounts[_debtor] = empty(Account) self.lodes[debtor.lode].total -= amount_s self.lodes[debtor.lode].total_e -= amount_e return amount_s @internal def _deallocate(_debtor: address, _amount_s: uint256): """ @dev deallocate funds from a wallet @param _debtor The address to deallocate the funds from. @param _amount_s scaled amount of funds. """ debtor: Account = self.accounts[_debtor] slode: Lode = self.lodes[debtor.lode] if debtor.expanse != slode.expanse: self.accounts[_debtor].amount = shift(debtor.amount, debtor.expanse - slode.expanse) self.accounts[_debtor].expanse = slode.expanse amount_e: uint256 = _amount_s * slode.total_e / slode.total self.accounts[_debtor].amount -= amount_e if self.accounts[_debtor].amount < self.scale: amount_e += self.accounts[_debtor].amount self.accounts[_debtor].amount = 0 amount_s: uint256 = amount_e * slode.total / slode.total_e self.lodes[debtor.lode].total -= amount_s else: self.lodes[debtor.lode].total -= _amount_s self.lodes[debtor.lode].total_e -= amount_e if self.accounts[_debtor].amount == 0: self.accounts[_debtor] = empty(Account) @internal def _allocate(_creditor: address, _amount_s: uint256): """ @dev deallocate funds from a wallet and from a lode @param _creditor The address to allocate the funds to. @param _amount_s The address to allocate the scaled funds to. """ creditor: Account = self.accounts[_creditor] if (creditor.amount ==0) and (creditor.lode ==0): if _creditor.is_contract: creditor.lode = FROZEN_LODE self.accounts[_creditor].lode = FROZEN_LODE else: creditor.lode = self.currentLode self.accounts[_creditor].lode = self.currentLode dlode: Lode = self.lodes[creditor.lode] if creditor.amount != 0: self.accounts[_creditor].amount = shift(creditor.amount, creditor.expanse - dlode.expanse) self.accounts[_creditor].expanse = dlode.expanse if dlode.total_e == 0: self.lodes[creditor.lode].total_e += _amount_s self.accounts[_creditor].amount += _amount_s else: amount_e: uint256 = _amount_s * dlode.total_e / dlode.total self.lodes[creditor.lode].total_e += amount_e self.accounts[_creditor].amount += amount_e self.lodes[creditor.lode].total += _amount_s @external def setLode(_wallet:address, _lode:uint256): """ @dev set the lode of a wallet @param _wallet The address of the wallet @param _lode The lode to which to allocate the wallet """ if (msg.sender == self.owner): assert (_lode < NUM_OF_LODES) #, "Out of bounds lode" elif (self.privileged[msg.sender] == True): assert _lode < NUM_OF_TEMPORAL_LODES #, "Out of bounds lode or access to priviledged lode" else: raise "Unauthorized" amount: uint256 = self._deallocate0(_wallet) self.accounts[_wallet].lode = _lode self._allocate(_wallet, amount) @external def setTaxStatus(_status: bool): """ @dev tax Status (On->True or Off) @param _status status of tax """ assert msg.sender == self.owner self.taxOn = _status @external def setTax(_tax_id:uint256, _tax_numerators:uint256[NUM_OF_LODES], _tax_denominator:uint256): """ @dev set the taxes of a tax_id @param _tax_id the tax id @param _tax_numerators Tax numerator per lode @param _tax_denominator Tax denominator """ assert (msg.sender == self.owner) self.tax_numerators[_tax_id] = _tax_numerators self.tax_denominator[_tax_id] = _tax_denominator sum:uint256 = 0 for i in range(NUM_OF_LODES): sum += _tax_numerators[i] self.tax_numeratorsum[_tax_id] = sum @external def setLodeTaxId(_lode:uint256, _tax_id:uint256): """ @dev set the tax_id of a lode @param _lode the lode number @param _tax_id Tax id """ assert (msg.sender == self.owner) self.lodes[_lode].tax_id = _tax_id @external def setPrivileged(_wallet: address, _status: bool): """ @dev change Privileged status of wallet @param _wallet The address of the wallet @param _status Which status to set to the wallet """ assert (msg.sender == self.owner) self.privileged[_wallet] = _status @external def setArbTrusted(_wallet: address, _status: bool): """ @dev change ArbTrust status of wallet @param _wallet The address of the wallet @param _status Which status to set to the wallet """ assert (msg.sender == self.owner) self.arbtrust[_wallet] = _status @view @external def isPrivileged(_wallet: address) -> bool: """ @dev check Privileged status of wallet @param _wallet The address of the wallet @return A bool specifiying if the wallet is priviledged """ return self.privileged[_wallet] @view @external def getLode(_wallet:address) -> uint256: """ @dev get account lode @param _wallet The address of the wallet @return An uint256 specifying the lode of the wallet """ assert (msg.sender == self.owner) or self.privileged[msg.sender] return self.accounts[_wallet].lode @view @internal def getBalance(_wallet : address) -> uint256: """ @dev get balance of wallet @param _wallet The address of the wallet @return An uint256 specifying the scaled balance of the wallet """ account: Account = self.accounts[_wallet] lode: Lode = self.lodes[account.lode] if lode.total_e == 0: return 0 else: return shift(account.amount, account.expanse - lode.expanse) * lode.total / lode.total_e @view @external def balanceLode(_wallet : address) -> (uint256, uint256, uint256, int128, int128): """ @dev get detailed balance of a wallet @param _wallet the wallet @return internal balance of wallet, lode scaled balance, lode internal balance, account and lode expanse """ assert (msg.sender == self.owner) or self.privileged[msg.sender] or (_wallet == msg.sender) account: Account = self.accounts[_wallet] lode: Lode = self.lodes[account.lode] return (account.amount, lode.total, lode.total_e, account.expanse, lode.expanse) @view @external def lodeBalance(_lode: uint256) -> (uint256, uint256, int128): """ @dev get balance of a lode @param _lode lode number @return lode scaled balance, lode internal balance and lode expanse """ assert (msg.sender == self.owner) or self.privileged[msg.sender] lode: Lode = self.lodes[_lode] return (lode.total, lode.total_e, lode.expanse) @external def setLodeTaxFree(_lode: uint256, _itaxfree: bool, _etaxfree: bool): """ @dev set lode tax excemptions rules @param _lode lode number @param _itaxfree is tax free on credit @param _etaxfree is tax free on debit """ assert (msg.sender == self.owner) self.lodes[_lode].itaxfree = _itaxfree self.lodes[_lode].etaxfree = _etaxfree @view @external def getLodeTaxFree(_lode: uint256) -> (bool, bool, uint256): """ @dev get lode tax rules @param _lode lode number @return _itaxfree, _etaxfree and tax_id """ assert (msg.sender == self.owner) or self.privileged[msg.sender] return (self.lodes[_lode].itaxfree, self.lodes[_lode].etaxfree, self.lodes[_lode].tax_id) @external def __init__(_name: String[64], _symbol: String[32], _decimals: uint256, _supply: uint256, _transferLocked: bool, _tax_nums: uint256[NUM_OF_LODES], _tax_denom: uint256): self.owner = msg.sender self.tax_numerators[0] = _tax_nums for i in range(NUM_OF_LODES): self.tax_numeratorsum[0] += _tax_nums[i] self.tax_denominator[0] = _tax_denom self.tax_airdrop_num = 1 self.tax_airdrop_den = 20 self.temporal_tax_num = 10000 self.temporal_tax_num2 = 2664 self.temporal_tax_den = 30000 self.transferLocked = _transferLocked self.taxOn = not _transferLocked self.scale = 10 ** _decimals init_supply: uint256 = _supply * 10 ** _decimals self.extent = init_supply * self.scale self.extent_max = init_supply * self.scale * self.scale a_supply: uint256 = init_supply * self.scale self.name = _name self.symbol = _symbol self.decimals = _decimals self.accounts[msg.sender].amount = a_supply self.lodes[self.accounts[msg.sender].lode] = Lode({total: a_supply, total_e: a_supply, expanse: 0, itaxfree:False, etaxfree:False, tax_id:0}) self.lodes[STAKING_LODE] = Lode({total: 0, total_e: 0, expanse: 0, itaxfree: True, etaxfree: True, tax_id:0}) self.lodes[RESERVE_LODE] = Lode({total: 0, total_e: 0, expanse: 0, itaxfree: True, etaxfree: False, tax_id:0}) self.lodes[RESERVED1_LODE] = Lode({total: 0, total_e: 0, expanse: 0, itaxfree: True, etaxfree: True, tax_id:0}) log Transfer(ZERO_ADDRESS, msg.sender, init_supply) log OwnershipTransferred(ZERO_ADDRESS, msg.sender) @view @external def totalSupply() -> uint256: """ @dev Total number of tokens in existence. EIP-20 function totalSupply() @return total supply """ sum:uint256 = 0 for i in range(NUM_OF_LODES): sum += self.lodes[i].total return sum / self.scale @view @external def balanceOf(_wallet : address) -> uint256: """ @dev Total number of tokens in existence. EIP-20 function balanceOf(address _owner) @return balance """ return self.getBalance(_wallet) / self.scale @view @external def allowance(_owner : address, _spender : address) -> uint256: """ @dev Function to check the amount of tokens that an owner allowed to a spender. EIP-20 function allowance(address _owner, address _spender) @param _owner The address which owns the funds. @param _spender The address which will spend the funds. @return An uint256 specifying the amount of tokens still available for the spender. """ return self.allowances[_owner][_spender] @external def setTemporalTax(_num: uint256, _num2: uint256, _den: uint256): """ @dev modify the temporal tax @param _num tax numerator @param _num2 tax arb @param _den tax denominator """ assert msg.sender == self.owner assert _den != 0 self.temporal_tax_num = _num self.temporal_tax_num2 = _num2 self.temporal_tax_den = _den @internal def temporalTax() -> bool: """ @dev This function trigger a temporal tax event if required. @return True if tax event happened, False otherwise """ if (self.initpulse != 0): self.currentLode = ((self.nextpulse - self.initpulse) / 86400) % NUM_OF_TEMPORAL_LODES if (block.timestamp > self.nextpulse): tax: uint256 = self.lodes[self.currentLode].total * self.temporal_tax_num / self.temporal_tax_den self.lodes[self.currentLode].total -= tax self.lodes[RESERVE_LODE].total += tax self.nextpulse += 86400 if self.currentLode == 0: if (self.temporal_tax_den - self.temporal_tax_num) != 0: self.extent = self.extent * self.temporal_tax_den / (self.temporal_tax_den - self.temporal_tax_num) if self.extent > self.extent_max: self.extent /= 2 self.expanse += 1 if self.lodes[self.currentLode].expanse != self.expanse: self.lodes[self.currentLode].total_e = shift(self.lodes[self.currentLode].total_e, self.lodes[self.currentLode].expanse - self.expanse) self.lodes[self.currentLode].expanse = self.expanse return True return False @external def changeTaxAirDrop(_num: uint256, _den:uint256): assert (msg.sender == self.owner) assert (_den != 0) self.tax_airdrop_num = _num self.tax_airdrop_den = _den @external @view def simTaxAirDrop() -> uint256: sum:uint256 = 0 for tax_id in range(NUM_OF_TAX_POLICIES): tax:uint256 = self.tax_toflush[tax_id] if tax != 0: sum += tax * self.tax_airdrop_num / self.tax_airdrop_den return sum/self.scale @internal def distributeTax(_to:address): airdrop:uint256 = 0 for tax_id in range(NUM_OF_TAX_POLICIES): tax:uint256 = self.tax_toflush[tax_id] if tax != 0: airdrop0:uint256 = tax * self.tax_airdrop_num / self.tax_airdrop_den airdrop += airdrop0 tax -= airdrop0 tax_num:uint256 = self.tax_numeratorsum[tax_id] for i in range(NUM_OF_LODES): self.lodes[i].total += tax * self.tax_numerators[tax_id][i] / tax_num self.tax_toflush[tax_id] = 0 if airdrop != 0: self._allocate(_to, airdrop) self.temporalTax() @external def triggerDistributeTax(): self.distributeTax(msg.sender) @external def triggerTemporalTax() -> bool: """ @dev This function trigger a temporal tax event if required. @return True if tax event happened, False otherwise """ return self.temporalTax() @view @external def transferedAfterTax(_debtor: address, _creditor: address, _value: uint256) -> uint256: """ @dev evaluate amount sent during Transfer @param _debtor The address to transfer from. @param _creditor The address to transfer to. @param _value The amount to be transferred. @return amount remaining to be transferred """ amount: uint256 = _value * self.scale d_lode: uint256 = self.accounts[_debtor].lode c_lode: uint256 = self.accounts[_creditor].lode tax_id: uint256 = self.lodes[d_lode].tax_id if (not self.lodes[d_lode].etaxfree) and (not self.lodes[c_lode].itaxfree) and self.taxOn: tax: uint256 = amount * self.tax_numeratorsum[tax_id] / self.tax_denominator[tax_id] amount -= tax if self.arbtrust[_debtor] and self.arbtrust[_creditor]: tax:uint256 = amount * self.temporal_tax_num2 / self.temporal_tax_den amount -= tax return amount / self.scale @internal def _transfer(_debtor: address, _creditor: address, _value: uint256): """ @dev Transfer token for a specified address @param _debtor The address to transfer from. @param _creditor The address to transfer to. @param _value The amount to be transferred. """ #if (block.timestamp > self.nextpulse) and (self.initpulse != 0): # self.temporalTax() amount: uint256 = _value * self.scale d_lode: uint256 = self.accounts[_debtor].lode c_lode: uint256 = self.accounts[_creditor].lode tax_id: uint256 = self.lodes[d_lode].tax_id self._deallocate(_debtor, amount) if (not self.lodes[d_lode].etaxfree) and (not self.lodes[c_lode].itaxfree) and self.taxOn: tax: uint256 = amount * self.tax_numeratorsum[tax_id] / self.tax_denominator[tax_id] amount -= tax self.tax_toflush[tax_id] += tax if self.arbtrust[_debtor] and self.arbtrust[_creditor]: tax:uint256 = amount * self.temporal_tax_num2 / self.temporal_tax_den amount -= tax self.lodes[RESERVED1_LODE].total += tax if (self.initpulse != 0): if (self.currentLode != d_lode) and (d_lode < NUM_OF_TEMPORAL_LODES): amount0: uint256 = self._deallocate0(_debtor) if amount0 != 0: self.accounts[_debtor].lode = self.currentLode self._allocate(_debtor, amount0) self._allocate(_creditor, amount) @external def transfer(_to : address, _value : uint256) -> bool: """ @dev Transfer token for a specified address. EIP-20 function transfer(address _to, uint256 _value) @param _to The address to transfer to. @param _value The amount to be transferred. """ assert (self.transferLocked == False) or self.privileged[msg.sender] or (msg.sender == self.owner), "You are not allowed to make transfer" self._transfer(msg.sender, _to, _value) log Transfer(msg.sender, _to, _value) return True @external def transferFrom(_from : address, _to : address, _value : uint256) -> bool: """ @dev Transfer tokens from one address to another. EIP function transferFrom(address _from, address _to, uint256 _value) @param _from address The address which you want to send tokens from @param _to address The address which you want to transfer to @param _value uint256 the amount of tokens to be transferred """ assert (self.transferLocked == False) or self.privileged[msg.sender] or self.privileged[_from] or (msg.sender == self.owner), "You are not allowed to make transfer" self._transfer(_from, _to, _value) self.allowances[_from][msg.sender] -= _value log Transfer(_from, _to, _value) return True @internal def _approve(_owner: address, _spender : address, _value : uint256) -> bool: """ @dev Approve the passed address to spend the specified amount of tokens on behalf of _owner. @param _owner The address which will provide the funds. @param _spender The address which will spend the funds. @param _value The amount of tokens to be spent. """ self.allowances[_owner][_spender] = _value log Approval(_owner, _spender, _value) return True @external def approve(_spender : address, _value : uint256) -> bool: """ @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 EIP-20 function approve(address _spender, uint256 _value) @param _spender The address which will spend the funds. @param _value The amount of tokens to be spent. """ self._approve(msg.sender, _spender,_value) return True @external def increaseAllowance(_spender : address, _addedValue : uint256) -> bool: """ @dev Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. - `spender` cannot be the zero address. @param _spender The address which will spend the funds. @param _addedValue The amount of additional tokens to be spent. """ self._approve(msg.sender, _spender, self.allowances[msg.sender][_spender] + _addedValue) return True @external def decreaseAllowance(_spender : address, _subtractedValue : uint256) -> bool: """ @dev Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least __subtractedValue @param _spender The address which will spend the funds. @param _subtractedValue The amount of tokens to be Decreased from allowance. """ self._approve(msg.sender, _spender, self.allowances[msg.sender][_spender] - _subtractedValue) return True @external def startPulse(): """ @dev start temporalTax Pulse """ assert msg.sender == self.owner assert self.initpulse == 0 self.taxOn = True self.initpulse = block.timestamp / 86400 * 86400 self.nextpulse = self.initpulse + 86400 * NUM_OF_TEMPORAL_LODES @external def lockTransfer(_status: bool): """ @dev lock or unlock transfer @param _status status of normal transfer """ assert msg.sender == self.owner self.transferLocked = _status @external @payable def __default__(): """ @dev Process ether received by default function """ log ReceivedEther(msg.sender, msg.value) @external def withdrawEth(_amount: uint256): """ @dev Withdraw ether from smart contract @param _amount number of wei """ assert msg.sender == self.owner send(self.owner, _amount) @internal def _consume(_debtor: address, _value: uint256): """ @dev Consume token of a specified address @param _debtor The address to transfer from. @param _value The amount to be transferred. """ amount: uint256 = _value * self.scale dtotal: uint256 = 0 tax_id: uint256 = self.lodes[self.accounts[_debtor].lode].tax_id self._deallocate(_debtor, amount) for i in range(NUM_OF_LODES): dtotal += self.tax_denominator[tax_id] if dtotal ==0: self.lodes[STAKING_LODE].total += amount else: for i in range(NUM_OF_LODES): self.lodes[i].total += amount * self.tax_numerators[tax_id][i] / dtotal @external def consume(_value: uint256): """ @dev Consume token of sender @param _value The amount to be consumed. """ self._consume(msg.sender, _value) @external def consumeFrom(_wallet: address, _value: uint256): """ @dev Consume token of sender @param _wallet the wallet to @param _value The amount to be consumed """ assert (msg.sender == self.owner) assert self.accounts[_wallet].lode == FROZEN_LODE self._consume(_wallet, _value) @internal def _burn(_to: address, _value: uint256): """ @dev Internal function that burns an amount of the token of a given account. @param _to The account whose tokens will be burned. @param _value The amount that will be burned. """ assert _to != ZERO_ADDRESS self._deallocate(_to, _value * self.scale) log Transfer(_to, ZERO_ADDRESS, _value) @external def burn(_value: uint256): """ @dev Burn an amount of the token of msg.sender. @param _value The amount that will be burned. """ self._burn(msg.sender, _value) @external def burnFrom(_to: address, _value: uint256): """ @dev Burn an amount of the token from a given account. @param _to The account whose tokens will be burned. @param _value The amount that will be burned. """ self.allowances[_to][msg.sender] -= _value self._burn(_to, _value) @external def transferOwnership(_owner: address): assert msg.sender == self.owner assert _owner != ZERO_ADDRESS log OwnershipTransferred(self.owner, _owner) self.owner = _owner @external def xtransfer(_token: address, _creditor : address, _value : uint256) -> bool: """ @dev Relay ERC-20 transfer request """ assert msg.sender == self.owner return ERC20(_token).transfer(_creditor, _value) @external def xapprove(_token: address, _spender : address, _value : uint256) -> bool: """ @dev Relay ERC-20 approve request """ assert msg.sender == self.owner return ERC20(_token).approve(_spender, _value)
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"Transfer","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true},{"name":"spender","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"ReceivedEther","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"function","name":"setLode","inputs":[{"name":"_wallet","type":"address"},{"name":"_lode","type":"uint256"}],"outputs":[],"gas":466596},{"stateMutability":"nonpayable","type":"function","name":"setTaxStatus","inputs":[{"name":"_status","type":"bool"}],"outputs":[],"gas":36365},{"stateMutability":"nonpayable","type":"function","name":"setTax","inputs":[{"name":"_tax_id","type":"uint256"},{"name":"_tax_numerators","type":"uint256[32]"},{"name":"_tax_denominator","type":"uint256"}],"outputs":[],"gas":1202964},{"stateMutability":"nonpayable","type":"function","name":"setLodeTaxId","inputs":[{"name":"_lode","type":"uint256"},{"name":"_tax_id","type":"uint256"}],"outputs":[],"gas":36512},{"stateMutability":"nonpayable","type":"function","name":"setPrivileged","inputs":[{"name":"_wallet","type":"address"},{"name":"_status","type":"bool"}],"outputs":[],"gas":36670},{"stateMutability":"nonpayable","type":"function","name":"setArbTrusted","inputs":[{"name":"_wallet","type":"address"},{"name":"_status","type":"bool"}],"outputs":[],"gas":36700},{"stateMutability":"view","type":"function","name":"isPrivileged","inputs":[{"name":"_wallet","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":1573},{"stateMutability":"view","type":"function","name":"getLode","inputs":[{"name":"_wallet","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3527},{"stateMutability":"view","type":"function","name":"balanceLode","inputs":[{"name":"_wallet","type":"address"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"int128"},{"name":"","type":"int128"}],"gas":11531},{"stateMutability":"view","type":"function","name":"lodeBalance","inputs":[{"name":"_lode","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"int128"}],"gas":8379},{"stateMutability":"nonpayable","type":"function","name":"setLodeTaxFree","inputs":[{"name":"_lode","type":"uint256"},{"name":"_itaxfree","type":"bool"},{"name":"_etaxfree","type":"bool"}],"outputs":[],"gas":72118},{"stateMutability":"view","type":"function","name":"getLodeTaxFree","inputs":[{"name":"_lode","type":"uint256"}],"outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"},{"name":"","type":"uint256"}],"gas":5858},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"},{"name":"_supply","type":"uint256"},{"name":"_transferLocked","type":"bool"},{"name":"_tax_nums","type":"uint256[32]"},{"name":"_tax_denom","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":42025},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"_wallet","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":11546},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":2028},{"stateMutability":"nonpayable","type":"function","name":"setTemporalTax","inputs":[{"name":"_num","type":"uint256"},{"name":"_num2","type":"uint256"},{"name":"_den","type":"uint256"}],"outputs":[],"gas":106800},{"stateMutability":"nonpayable","type":"function","name":"changeTaxAirDrop","inputs":[{"name":"_num","type":"uint256"},{"name":"_den","type":"uint256"}],"outputs":[],"gas":71821},{"stateMutability":"view","type":"function","name":"simTaxAirDrop","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":14518},{"stateMutability":"nonpayable","type":"function","name":"triggerDistributeTax","inputs":[],"outputs":[],"gas":6063735},{"stateMutability":"nonpayable","type":"function","name":"triggerTemporalTax","inputs":[],"outputs":[{"name":"","type":"bool"}],"gas":348557},{"stateMutability":"view","type":"function","name":"transferedAfterTax","inputs":[{"name":"_debtor","type":"address"},{"name":"_creditor","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":15349},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":1987962},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":2025240},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":39772},{"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":41001},{"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":41025},{"stateMutability":"nonpayable","type":"function","name":"startPulse","inputs":[],"outputs":[],"gas":109179},{"stateMutability":"nonpayable","type":"function","name":"lockTransfer","inputs":[{"name":"_status","type":"bool"}],"outputs":[],"gas":37145},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"nonpayable","type":"function","name":"withdrawEth","inputs":[{"name":"_amount","type":"uint256"}],"outputs":[],"gas":37675},{"stateMutability":"nonpayable","type":"function","name":"consume","inputs":[{"name":"_value","type":"uint256"}],"outputs":[],"gas":1795600},{"stateMutability":"nonpayable","type":"function","name":"consumeFrom","inputs":[{"name":"_wallet","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[],"gas":1797714},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_value","type":"uint256"}],"outputs":[],"gas":552787},{"stateMutability":"nonpayable","type":"function","name":"burnFrom","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[],"gas":589138},{"stateMutability":"nonpayable","type":"function","name":"transferOwnership","inputs":[{"name":"_owner","type":"address"}],"outputs":[],"gas":39740},{"stateMutability":"nonpayable","type":"function","name":"xtransfer","inputs":[{"name":"_token","type":"address"},{"name":"_creditor","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":3511},{"stateMutability":"nonpayable","type":"function","name":"xapprove","inputs":[{"name":"_token","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":3541},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":8660},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":7713},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2318},{"stateMutability":"view","type":"function","name":"scale","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2348},{"stateMutability":"view","type":"function","name":"expanse","inputs":[],"outputs":[{"name":"","type":"int128"}],"gas":2378},{"stateMutability":"view","type":"function","name":"extent","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2408},{"stateMutability":"view","type":"function","name":"extent_max","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2438},{"stateMutability":"view","type":"function","name":"initpulse","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2468},{"stateMutability":"view","type":"function","name":"nextpulse","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2498},{"stateMutability":"view","type":"function","name":"currentLode","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2528},{"stateMutability":"view","type":"function","name":"transferLocked","inputs":[],"outputs":[{"name":"","type":"bool"}],"gas":2558},{"stateMutability":"view","type":"function","name":"taxOn","inputs":[],"outputs":[{"name":"","type":"bool"}],"gas":2588},{"stateMutability":"view","type":"function","name":"temporal_tax_num","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2618},{"stateMutability":"view","type":"function","name":"temporal_tax_num2","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2648},{"stateMutability":"view","type":"function","name":"temporal_tax_den","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2678},{"stateMutability":"view","type":"function","name":"tax_numerators","inputs":[{"name":"arg0","type":"uint256"},{"name":"arg1","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":2926},{"stateMutability":"view","type":"function","name":"tax_numeratorsum","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":2847},{"stateMutability":"view","type":"function","name":"tax_denominator","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":2877},{"stateMutability":"view","type":"function","name":"tax_toflush","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":2907},{"stateMutability":"view","type":"function","name":"tax_airdrop_num","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2828},{"stateMutability":"view","type":"function","name":"tax_airdrop_den","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2858}]
Contract Creation Code
6104c0613ab96101403960606020613ab960c03960c051613ab9016106003960406020613ab960c03960c05160040135111561003a57600080fd5b604060206020613ab90160c03960c051613ab90161068039602060206020613ab90160c03960c05160040135111561007157600080fd5b60206080613ab90160c03960c05160011c1561008c57600080fd5b33600955601060c052602060c02060c052602060c0206101e05181556102005160018201556102205160028201556102405160038201556102605160048201556102805160058201556102a05160068201556102c05160078201556102e051600882015561030051600982015561032051600a82015561034051600b82015561036051600c82015561038051600d8201556103a051600e8201556103c051600f8201556103e05160108201556104005160118201556104205160128201556104405160138201556104605160148201556104805160158201556104a05160168201556104c05160178201556104e051601882015561050051601982015561052051601a82015561054051601b82015561056051601c82015561058051601d8201556105a051601e8201556105c051601f820155506106e060006020818352015b601160c052602060c02080546101e06106e051602081106101ec57600080fd5b602002015181818301101561020057600080fd5b808201905090508155505b81516001018083528114156101cc575b50506105e051601260c052602060c0205560016014556014601555612710600d55610a68600e55617530600f556101c051600b556101c05115600c55604e610180511061026757600080fd5b61018051600a0a6003556101a051604e610180511061028557600080fd5b61018051600a0a80820282158284830414176102a057600080fd5b809050905090506106e0526106e05160035480820282158284830414176102c657600080fd5b809050905090506005556106e05160035480820282158284830414176102eb57600080fd5b80905090509050600354808202821582848304141761030957600080fd5b809050905090506006556106e051600354808202821582848304141761032e57600080fd5b809050905090506107005261060080600060c052602060c020602082510161012060006003818352015b8261012051602002111561036b5761038d565b61012051602002850151610120518501555b8151600101808352811415610358575b50505050505061068080600160c052602060c020602082510161012060006002818352015b826101205160200211156103c5576103e7565b61012051602002850151610120518501555b81516001018083528114156103b2575b505050505050610180516002556107005160173360e05260c052604060c02060c052602060c02055600160173360e05260c052604060c02060c052602060c02001546020811061043657600080fd5b601660c052602060c0200160c052602060c02061070051815561070051600182015560006002820155600060038201556000600482015560006005820155506019601660c052602060c0200160c052602060c02060008155600060018201556000600282015560006003820155600160048201556001600582015550601b601660c052602060c0200160c052602060c02060008155600060018201556000600282015560006003820155600160048201556000600582015550601d601660c052602060c0200160c052602060c020600081556000600182015560006002820155600060038201556001600482015560016005820155506106e051610720523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610720a33360007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060006000a3613aa156600436101561000d57611c11565b600035601c5260005163659f623681141561013f57341561002d57600080fd5b60043560a01c1561003d57600080fd5b60095433141561005b5760206024351061005657600080fd5b6100cb565b600160193360e05260c052604060c0205414156100865760196024351061008157600080fd5b6100cb565b6308c379a061014052602061016052600c610180527f556e617574686f72697a656400000000000000000000000000000000000000006101a05261018050606461015cfd5b61014051600435610160526101605160065801611c40565b6101c052610140526101c051610140526024356001601760043560e05260c052604060c02060c052602060c02001556101405160043561016052610140516101805261018051610160516006580161226e565b61014052600050005b631533078f81141561017c57341561015657600080fd5b60043560011c1561016657600080fd5b600954331461017457600080fd5b600435600c55005b63cd8f72778114156103b757341561019357600080fd5b60095433146101a157600080fd5b600435600481106101b157600080fd5b601060c052602060c0200160c052602060c020602480358255806020013560018301558060400135600283015580606001356003830155806080013560048301558060a0013560058301558060c0013560068301558060e00135600783015580610100013560088301558061012001356009830155806101400135600a830155806101600135600b830155806101800135600c830155806101a00135600d830155806101c00135600e830155806101e00135600f83015580610200013560108301558061022001356011830155806102400135601283015580610260013560138301558061028001356014830155806102a001356015830155806102c001356016830155806102e00135601783015580610300013560188301558061032001356019830155806103400135601a830155806103600135601b830155806103800135601c830155806103a00135601d830155806103c00135601e830155806103e00135601f8301555050610424356004356004811061032e57600080fd5b601260c052602060c020015560006101405261016060006020818352015b61014080516024610160516020811061036457600080fd5b602002013581818301101561037857600080fd5b808201905090508152505b815160010180835281141561034c575b505061014051600435600481106103a957600080fd5b601160c052602060c0200155005b630cbea6a48114156104085734156103ce57600080fd5b60095433146103dc57600080fd5b6024356003600435602081106103f157600080fd5b601660c052602060c0200160c052602060c0200155005b63e15a56c881141561046357341561041f57600080fd5b60043560a01c1561042f57600080fd5b60243560011c1561043f57600080fd5b600954331461044d57600080fd5b602435601960043560e05260c052604060c02055005b6302f995568114156104be57341561047a57600080fd5b60043560a01c1561048a57600080fd5b60243560011c1561049a57600080fd5b60095433146104a857600080fd5b602435601a60043560e05260c052604060c02055005b632e2326d58114156104ff5734156104d557600080fd5b60043560a01c156104e557600080fd5b601960043560e05260c052604060c0205460005260206000f35b6356148dbf81141561057557341561051657600080fd5b60043560a01c1561052657600080fd5b600954331415610537576001610547565b60193360e05260c052604060c020545b61055057600080fd5b6001601760043560e05260c052604060c02060c052602060c020015460005260206000f35b63080feeab81141561070257341561058c57600080fd5b60043560a01c1561059c57600080fd5b6009543314156105ad5760016105ce565b60193360e05260c052604060c02054156105c85760016105ce565b33600435145b6105d757600080fd5b610140601760043560e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101a0610160516020811061063057600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a001525050610260808080610140518152505060208101905080806101a0518152505060208101905080806101c051815250506020810190508080610180518152505060208101905080806101e0518152505060a09050905060c05260c051610260f35b6352ca3ef781141561080857341561071957600080fd5b60095433141561072a57600161073a565b60193360e05260c052604060c020545b61074357600080fd5b6101406004356020811061075657600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a0015250506102008080806101405181525050602081019050808061016051815250506020810190508080610180518152505060609050905060c05260c051610200f35b637118514a8114156108a357341561081f57600080fd5b60243560011c1561082f57600080fd5b60443560011c1561083f57600080fd5b600954331461084d57600080fd5b60243560046004356020811061086257600080fd5b601660c052602060c0200160c052602060c020015560443560056004356020811061088c57600080fd5b601660c052602060c0200160c052602060c0200155005b63ddde6e4e81141561098c5734156108ba57600080fd5b6009543314156108cb5760016108db565b60193360e05260c052604060c020545b6108e457600080fd5b6101408080806004600435602081106108fc57600080fd5b601660c052602060c0200160c052602060c020015481525050602081019050808060056004356020811061092f57600080fd5b601660c052602060c0200160c052602060c020015481525050602081019050808060036004356020811061096257600080fd5b601660c052602060c0200160c052602060c02001548152505060609050905060c05260c051610140f35b6318160ddd811415610a2c5734156109a357600080fd5b60006101405261016060006020818352015b610140805161016051602081106109cb57600080fd5b601660c052602060c0200160c052602060c020548181830110156109ee57600080fd5b808201905090508152505b81516001018083528114156109b5575b5050610140516003548080610a1d57600080fd5b82049050905060005260206000f35b6370a08231811415610a8c573415610a4357600080fd5b60043560a01c15610a5357600080fd5b6004356101405261014051600658016125e6565b6101a0526101a0516003548080610a7d57600080fd5b82049050905060005260206000f35b63dd62ed3e811415610aeb573415610aa357600080fd5b60043560a01c15610ab357600080fd5b60243560a01c15610ac357600080fd5b601860043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b637e81ca66811415610b33573415610b0257600080fd5b6009543314610b1057600080fd5b600060443518610b1f57600080fd5b600435600d55602435600e55604435600f55005b635f13e1f9811415610b75573415610b4a57600080fd5b6009543314610b5857600080fd5b600060243518610b6757600080fd5b600435601455602435601555005b63b10961b5811415610c53573415610b8c57600080fd5b60006101405261016060006004818352015b6101605160048110610baf57600080fd5b601360c052602060c0200154610180526000610180511815610c20576101408051610180516014548082028215828483041417610beb57600080fd5b809050905090506015548080610c0057600080fd5b820490509050818183011015610c1557600080fd5b808201905090508152505b8151600101808352811415610b9e575b5050610140516003548080610c4457600080fd5b82049050905060005260206000f35b63d42b131c811415610c81573415610c6a57600080fd5b33610140526101405160065801612ab1565b600050005b630904b7fc811415610cb2573415610c9857600080fd5b60065801612764565b610140526101405160005260206000f35b633058006b811415610f2d573415610cc957600080fd5b60043560a01c15610cd957600080fd5b60243560a01c15610ce957600080fd5b6044356003548082028215828483041417610d0357600080fd5b80905090509050610140526001601760043560e05260c052604060c02060c052602060c0200154610160526001601760243560e05260c052604060c02060c052602060c02001546101805260036101605160208110610d6157600080fd5b601660c052602060c0200160c052602060c02001546101a05260056101605160208110610d8d57600080fd5b601660c052602060c0200160c052602060c02001541515610de65760046101805160208110610dbb57600080fd5b601660c052602060c0200160c052602060c02001541515610dde57600c54610de1565b60005b610de9565b60005b15610e7d57610140516101a05160048110610e0357600080fd5b601160c052602060c02001548082028215828483041417610e2357600080fd5b809050905090506101a05160048110610e3b57600080fd5b601260c052602060c02001548080610e5257600080fd5b8204905090506101c05261014080516101c05180821015610e7257600080fd5b808203905090508152505b601a60043560e05260c052604060c0205415610ea957601a60243560e05260c052604060c02054610eac565b60005b15610f0c5761014051600e548082028215828483041417610ecc57600080fd5b80905090509050600f548080610ee157600080fd5b8204905090506101c05261014080516101c05180821015610f0157600080fd5b808203905090508152505b610140516003548080610f1e57600080fd5b82049050905060005260206000f35b63a9059cbb81141561105d573415610f4457600080fd5b60043560a01c15610f5457600080fd5b600b541515610f64576001610f85565b60193360e05260c052604060c0205415610f7f576001610f85565b60095433145b1515610ff5576308c379a0610140526020610160526024610180527f596f7520617265206e6f7420616c6c6f77656420746f206d616b65207472616e6101a0527f73666572000000000000000000000000000000000000000000000000000000006101c05261018050608461015cfd5b3361014052600435610160526024356101805261018051610160516101405160065801612d09565b60005060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f35b6323b872dd8114156111f657341561107457600080fd5b60043560a01c1561108457600080fd5b60243560a01c1561109457600080fd5b600b5415156110a45760016110e2565b60193360e05260c052604060c02054156110bf5760016110e2565b601960043560e05260c052604060c02054156110dc5760016110e2565b60095433145b1515611152576308c379a0610140526020610160526024610180527f596f7520617265206e6f7420616c6c6f77656420746f206d616b65207472616e6101a0527f73666572000000000000000000000000000000000000000000000000000000006101c05261018050608461015cfd5b60043561014052602435610160526044356101805261018051610160516101405160065801612d09565b600050601860043560e05260c052604060c0203360e05260c052604060c0208054604435808210156111ad57600080fd5b80820390509050815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f35b63095ea7b381141561125857341561120d57600080fd5b60043560a01c1561121d57600080fd5b33610140526004356101605260243561018052610180516101605161014051600658016131ac565b6101e0526101e050600160005260206000f35b63395093518114156112ed57341561126f57600080fd5b60043560a01c1561127f57600080fd5b33610140526004356101605260183360e05260c052604060c02060043560e05260c052604060c020546024358181830110156112ba57600080fd5b8082019050905061018052610180516101605161014051600658016131ac565b6101e0526101e050600160005260206000f35b63a457c2d781141561138057341561130457600080fd5b60043560a01c1561131457600080fd5b33610140526004356101605260183360e05260c052604060c02060043560e05260c052604060c020546024358082101561134d57600080fd5b8082039050905061018052610180516101605161014051600658016131ac565b6101e0526101e050600160005260206000f35b63509027f581141561140757341561139757600080fd5b60095433146113a557600080fd5b600754156113b257600080fd5b6001600c554262015180808204905090506201518080820282158284830414176113db57600080fd5b809050905090506007556007546220f5808181830110156113fb57600080fd5b80820190509050600855005b6320b44b2981141561144457341561141e57600080fd5b60043560011c1561142e57600080fd5b600954331461143c57600080fd5b600435600b55005b63c311d04981141561148557341561145b57600080fd5b600954331461146957600080fd5b60006000600060006004356009546000f161148357600080fd5b005b63483f31ab8114156114be57341561149c57600080fd5b336101405260043561016052610160516101405160065801613226565b600050005b63bd2335f681141561153f5734156114d557600080fd5b60043560a01c156114e557600080fd5b60095433146114f357600080fd5b601a6001601760043560e05260c052604060c02060c052602060c02001541461151b57600080fd5b6004356101405260243561016052610160516101405160065801613226565b600050005b6342966c6881141561157857341561155657600080fd5b336101405260043561016052610160516101405160065801613464565b600050005b6379cc67908114156115fb57341561158f57600080fd5b60043560a01c1561159f57600080fd5b601860043560e05260c052604060c0203360e05260c052604060c0208054602435808210156115cd57600080fd5b808203905090508155506004356101405260243561016052610160516101405160065801613464565b600050005b63f2fde38b81141561167357341561161257600080fd5b60043560a01c1561162257600080fd5b600954331461163057600080fd5b60006004351861163f57600080fd5b6004356009547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060006000a3600435600955005b6307ddc22681141561170657341561168a57600080fd5b60043560a01c1561169a57600080fd5b60243560a01c156116aa57600080fd5b60095433146116b857600080fd5b60206101e0604463a9059cbb61014052602435610160526044356101805261015c60006004355af16116e957600080fd5b601f3d116116f657600080fd5b6000506101e05160005260206000f35b63bb2b38bd81141561179957341561171d57600080fd5b60043560a01c1561172d57600080fd5b60243560a01c1561173d57600080fd5b600954331461174b57600080fd5b60206101e0604463095ea7b361014052602435610160526044356101805261015c60006004355af161177c57600080fd5b601f3d1161178957600080fd5b6000506101e05160005260206000f35b6306fdde038114156118495734156117b057600080fd5b60008060c052602060c020610180602082540161012060006003818352015b826101205160200211156117e257611804565b61012051850154610120516020028501525b81516001018083528114156117cf575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6395d89b418114156118f957341561186057600080fd5b60018060c052602060c020610180602082540161012060006002818352015b82610120516020021115611892576118b4565b61012051850154610120516020028501525b815160010180835281141561187f575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63313ce56781141561191c57341561191057600080fd5b60025460005260206000f35b63f51e181a81141561193f57341561193357600080fd5b60035460005260206000f35b631b0bef5c81141561196257341561195657600080fd5b60045460005260206000f35b6380b14d1581141561198557341561197957600080fd5b60055460005260206000f35b63d7a62fac8114156119a857341561199c57600080fd5b60065460005260206000f35b6310fac3e18114156119cb5734156119bf57600080fd5b60075460005260206000f35b6319f5d7608114156119ee5734156119e257600080fd5b60085460005260206000f35b63e0a8e16c811415611a11573415611a0557600080fd5b600a5460005260206000f35b6312686aae811415611a34573415611a2857600080fd5b600b5460005260206000f35b630bff5d1a811415611a57573415611a4b57600080fd5b600c5460005260206000f35b63d7e670c7811415611a7a573415611a6e57600080fd5b600d5460005260206000f35b6303b0662d811415611a9d573415611a9157600080fd5b600e5460005260206000f35b634578da39811415611ac0573415611ab457600080fd5b600f5460005260206000f35b63fb79cf90811415611b15573415611ad757600080fd5b60243560208110611ae757600080fd5b60043560048110611af757600080fd5b601060c052602060c0200160c052602060c020015460005260206000f35b63f24d1a17811415611b51573415611b2c57600080fd5b60043560048110611b3c57600080fd5b601160c052602060c020015460005260206000f35b633314f0e5811415611b8d573415611b6857600080fd5b60043560048110611b7857600080fd5b601260c052602060c020015460005260206000f35b63c9cf051a811415611bc9573415611ba457600080fd5b60043560048110611bb457600080fd5b601360c052602060c020015460005260206000f35b63a35f0deb811415611bec573415611be057600080fd5b60145460005260206000f35b635dfb487e811415611c0f573415611c0357600080fd5b60155460005260206000f35b505b3461014052337fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf16020610140a2005b610160526101405261018060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101e06101a05160208110611ca257600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a001525050610180516102a0526102a0511515611d615760176101405160e05260c052604060c02060c052602060c02060008155600060018201556000600282015550600060005260005161016051565b610220516101c0511815611dbf576101c0516102205180820380806000811215611d8757195b607f1c15611d9457600080fd5b9050905090506000811215611db15761018051816000031c611db8565b61018051811b5b90506102a0525b6102a0516101e0518082028215828483041417611ddb57600080fd5b80905090509050610200518080611df157600080fd5b8204905090506102c05260176101405160e05260c052604060c02060c052602060c020600081556000600182015560006002820155506101a05160208110611e3857600080fd5b601660c052602060c0200160c052602060c02080546102c05180821015611e5e57600080fd5b8082039050905081555060016101a05160208110611e7b57600080fd5b601660c052602060c0200160c052602060c0200180546102a05180821015611ea257600080fd5b808203905090508155506102c05160005260005161016051565b6101805261014052610160526101a060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506102006101c05160208110611f2257600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a001525050610240516101e051181561202a576101e0516102405180820380806000811215611fbb57195b607f1c15611fc857600080fd5b9050905090506000811215611fe5576101a051816000031c611fec565b6101a051811b5b905060176101405160e05260c052604060c02060c052602060c0205561024051600260176101405160e05260c052604060c02060c052602060c02001555b6101605161022051808202821582848304141761204657600080fd5b8090509050905061020051808061205c57600080fd5b8204905090506102c05260176101405160e05260c052604060c02060c052602060c02080546102c0518082101561209257600080fd5b8082039050905081555060035460176101405160e05260c052604060c02060c052602060c020541015612195576102c0805160176101405160e05260c052604060c02060c052602060c020548181830110156120ed57600080fd5b80820190509050815250600060176101405160e05260c052604060c02060c052602060c020556102c05161020051808202821582848304141761212f57600080fd5b8090509050905061022051808061214557600080fd5b8204905090506102e0526101c0516020811061216057600080fd5b601660c052602060c0200160c052602060c02080546102e0518082101561218657600080fd5b808203905090508155506121d7565b6101c051602081106121a657600080fd5b601660c052602060c0200160c052602060c020805461016051808210156121cc57600080fd5b808203905090508155505b60016101c051602081106121ea57600080fd5b601660c052602060c0200160c052602060c0200180546102c0518082101561221157600080fd5b8082039050905081555060176101405160e05260c052604060c02060c052602060c0205415156122685760176101405160e05260c052604060c02060c052602060c020600081556000600182015560006002820155505b61018051565b6101805261014052610160526101a060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101a05115156122d4576101c051156122d7565b60005b1561233b576000610140513b111561231357601a6101c052601a600160176101405160e05260c052604060c02060c052602060c020015561233b565b600a546101c052600a54600160176101405160e05260c052604060c02060c052602060c02001555b6102006101c0516020811061234f57600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a00152505060006101a0511815612434576101e05161024051808203808060008112156123e657195b607f1c156123f357600080fd5b9050905090506000811215612410576101a051816000031c612417565b6101a051811b5b905060176101405160e05260c052604060c02060c052602060c020555b61024051600260176101405160e05260c052604060c02060c052602060c02001556102205115156124e25760016101c0516020811061247257600080fd5b601660c052602060c0200160c052602060c0200180546101605181818301101561249b57600080fd5b8082019050905081555060176101405160e05260c052604060c02060c052602060c0208054610160518181830110156124d357600080fd5b8082019050905081555061259d565b610160516102205180820282158284830414176124fe57600080fd5b8090509050905061020051808061251457600080fd5b8204905090506102c05260016101c0516020811061253157600080fd5b601660c052602060c0200160c052602060c0200180546102c05181818301101561255a57600080fd5b8082019050905081555060176101405160e05260c052604060c02060c052602060c02080546102c05181818301101561259257600080fd5b808201905090508155505b6101c051602081106125ae57600080fd5b601660c052602060c0200160c052602060c0208054610160518181830110156125d657600080fd5b8082019050905081555061018051565b610160526101405261018060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101e06101a0516020811061264857600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a0015250506102005115156126d75760006000526000516101605156612762565b6101c05161022051808203808060008112156126ef57195b607f1c156126fc57600080fd5b90509050905060008112156127195761018051816000031c612720565b61018051811b5b90506101e051808202821582848304141761273a57600080fd5b8090509050905061020051808061275057600080fd5b82049050905060005260005161016051565b005b6101405260006007541815612aa3576008546007548082101561278657600080fd5b808203905090506201518080820490509050601980820690509050600a55600854421115612aa357600a54602081106127be57600080fd5b601660c052602060c0200160c052602060c02054600d5480820282158284830414176127e957600080fd5b80905090509050600f5480806127fe57600080fd5b82049050905061016052600a546020811061281857600080fd5b601660c052602060c0200160c052602060c0208054610160518082101561283e57600080fd5b80820390509050815550601b601660c052602060c0200160c052602060c02080546101605181818301101561287257600080fd5b80820190509050815550600880546201518081818301101561289357600080fd5b80820190509050815550600a541515612960576000600f54600d54808210156128bb57600080fd5b80820390509050181561296057600554600f5480820282158284830414176128e257600080fd5b80905090509050600f54600d54808210156128fc57600080fd5b80820390509050808061290e57600080fd5b820490509050600555600654600554111561296057600580546002808204905090508155506004805460018082018080600081121561294957195b607f1c1561295657600080fd5b9050905090508155505b6004546002600a546020811061297557600080fd5b601660c052602060c0200160c052602060c02001541815612a95576002600a54602081106129a257600080fd5b601660c052602060c0200160c052602060c0200154600454808203808060008112156129ca57195b607f1c156129d757600080fd5b9050905090506000811215612a17576001600a54602081106129f857600080fd5b601660c052602060c0200160c052602060c0200154816000031c612a41565b6001600a5460208110612a2957600080fd5b601660c052602060c0200160c052602060c0200154811b5b90506001600a5460208110612a5557600080fd5b601660c052602060c0200160c052602060c02001556004546002600a5460208110612a7f57600080fd5b601660c052602060c0200160c052602060c02001555b600160005260005161014051565b600060005260005161014051565b61016052610140526000610180526101a060006004818352015b6101a05160048110612adc57600080fd5b601360c052602060c02001546101c05260006101c0511815612c5f576101c0516014548082028215828483041417612b1357600080fd5b809050905090506015548080612b2857600080fd5b8204905090506101e05261018080516101e051818183011015612b4a57600080fd5b808201905090508152506101c080516101e05180821015612b6a57600080fd5b808203905090508152506101a05160048110612b8557600080fd5b601160c052602060c02001546102005261022060006020818352015b6102205160208110612bb257600080fd5b601660c052602060c0200160c052602060c02080546101c0516102205160208110612bdc57600080fd5b6101a05160048110612bed57600080fd5b601060c052602060c0200160c052602060c02001548082028215828483041417612c1657600080fd5b80905090509050610200518080612c2c57600080fd5b820490509050818183011015612c4157600080fd5b808201905090508155505b8151600101808352811415612ba1575b50505b60006101a05160048110612c7257600080fd5b601360c052602060c02001555b8151600101808352811415612acb575b50506000610180511815612cda57610140516101605161018051610140516101a052610180516101c0526101c0516101a0516006580161226e565b6101805261016052610140526000505b61014051610160516101805160065801612764565b6101a0526101805261016052610140526101a05061016051565b6101a052610140526101605261018052610180516003548082028215828483041417612d3457600080fd5b809050905090506101c052600160176101405160e05260c052604060c02060c052602060c02001546101e052600160176101605160e05260c052604060c02060c052602060c02001546102005260036101e05160208110612d9457600080fd5b601660c052602060c0200160c052602060c0200154610220526101405161016051610180516101a0516101c0516101e051610200516102205161014051610240526101c05161026052610260516102405160065801611ebc565b61022052610200526101e0526101c0526101a05261018052610160526101405260005060056101e05160208110612e2457600080fd5b601660c052602060c0200160c052602060c02001541515612e7d5760046102005160208110612e5257600080fd5b601660c052602060c0200160c052602060c02001541515612e7557600c54612e78565b60005b612e80565b60005b15612f4f576101c0516102205160048110612e9a57600080fd5b601160c052602060c02001548082028215828483041417612eba57600080fd5b809050905090506102205160048110612ed257600080fd5b601260c052602060c02001548080612ee957600080fd5b820490509050610240526101c080516102405180821015612f0957600080fd5b808203905090508152506102205160048110612f2457600080fd5b601360c052602060c02001805461024051818183011015612f4457600080fd5b808201905090508155505b601a6101405160e05260c052604060c0205415612f7d57601a6101605160e05260c052604060c02054612f80565b60005b15613014576101c051600e548082028215828483041417612fa057600080fd5b80905090509050600f548080612fb557600080fd5b820490509050610240526101c080516102405180821015612fd557600080fd5b80820390509050815250601d601660c052602060c0200160c052602060c02080546102405181818301101561300957600080fd5b808201905090508155505b60006007541815613142576101e051600a5418156130385760196101e0511061303b565b60005b15613142576101405161016051610180516101a0516101c0516101e05161020051610220516102405161014051610260526102605160065801611c40565b6102c0526102405261022052610200526101e0526101c0526101a0526101805261016052610140526102c05161024052600061024051181561314257600a54600160176101405160e05260c052604060c02060c052602060c02001556101405161016051610180516101a0516101c0516101e0516102005161022051610240516101405161026052610240516102805261028051610260516006580161226e565b6102405261022052610200526101e0526101c0526101a0526101805261016052610140526000505b6101405161016051610180516101a0516101c0516101e051610200516102205161016051610240526101c0516102605261026051610240516006580161226e565b61022052610200526101e0526101c0526101a0526101805261016052610140526000506101a051565b6101a0526101405261016052610180526101805160186101405160e05260c052604060c0206101605160e05260c052604060c02055610180516101c05261016051610140517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206101c0a360016000526000516101a051565b61018052610140526101605261016051600354808202821582848304141761324d57600080fd5b809050905090506101a05260006101c0526003600160176101405160e05260c052604060c02060c052602060c02001546020811061328a57600080fd5b601660c052602060c0200160c052602060c02001546101e0526101405161016051610180516101a0516101c0516101e05161014051610200526101a05161022052610220516102005160065801611ebc565b6101e0526101c0526101a05261018052610160526101405260005061020060006020818352015b6101c080516101e0516004811061331957600080fd5b601260c052602060c020015481818301101561333457600080fd5b808201905090508152505b8151600101808352811415613303575b50506101c0511515613394576019601660c052602060c0200160c052602060c02080546101a05181818301101561338557600080fd5b8082019050905081555061345e565b61020060006020818352015b61020051602081106133b157600080fd5b601660c052602060c0200160c052602060c02080546101a05161020051602081106133db57600080fd5b6101e051600481106133ec57600080fd5b601060c052602060c0200160c052602060c0200154808202821582848304141761341557600080fd5b809050905090506101c051808061342b57600080fd5b82049050905081818301101561344057600080fd5b808201905090508155505b81516001018083528114156133a0575b50505b61018051565b6101805261014052610160526000610140511861348057600080fd5b610140516101605161018051610140516101a0526101605160035480820282158284830414176134af57600080fd5b809050905090506101c0526101c0516101a05160065801611ebc565b610180526101605261014052600050610160516101a0526000610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a361018051565b61058c613aa10361058c60003961058c613aa1036000f300000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000a456e726561636844414f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044e52434800000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x600436101561000d57611c11565b600035601c5260005163659f623681141561013f57341561002d57600080fd5b60043560a01c1561003d57600080fd5b60095433141561005b5760206024351061005657600080fd5b6100cb565b600160193360e05260c052604060c0205414156100865760196024351061008157600080fd5b6100cb565b6308c379a061014052602061016052600c610180527f556e617574686f72697a656400000000000000000000000000000000000000006101a05261018050606461015cfd5b61014051600435610160526101605160065801611c40565b6101c052610140526101c051610140526024356001601760043560e05260c052604060c02060c052602060c02001556101405160043561016052610140516101805261018051610160516006580161226e565b61014052600050005b631533078f81141561017c57341561015657600080fd5b60043560011c1561016657600080fd5b600954331461017457600080fd5b600435600c55005b63cd8f72778114156103b757341561019357600080fd5b60095433146101a157600080fd5b600435600481106101b157600080fd5b601060c052602060c0200160c052602060c020602480358255806020013560018301558060400135600283015580606001356003830155806080013560048301558060a0013560058301558060c0013560068301558060e00135600783015580610100013560088301558061012001356009830155806101400135600a830155806101600135600b830155806101800135600c830155806101a00135600d830155806101c00135600e830155806101e00135600f83015580610200013560108301558061022001356011830155806102400135601283015580610260013560138301558061028001356014830155806102a001356015830155806102c001356016830155806102e00135601783015580610300013560188301558061032001356019830155806103400135601a830155806103600135601b830155806103800135601c830155806103a00135601d830155806103c00135601e830155806103e00135601f8301555050610424356004356004811061032e57600080fd5b601260c052602060c020015560006101405261016060006020818352015b61014080516024610160516020811061036457600080fd5b602002013581818301101561037857600080fd5b808201905090508152505b815160010180835281141561034c575b505061014051600435600481106103a957600080fd5b601160c052602060c0200155005b630cbea6a48114156104085734156103ce57600080fd5b60095433146103dc57600080fd5b6024356003600435602081106103f157600080fd5b601660c052602060c0200160c052602060c0200155005b63e15a56c881141561046357341561041f57600080fd5b60043560a01c1561042f57600080fd5b60243560011c1561043f57600080fd5b600954331461044d57600080fd5b602435601960043560e05260c052604060c02055005b6302f995568114156104be57341561047a57600080fd5b60043560a01c1561048a57600080fd5b60243560011c1561049a57600080fd5b60095433146104a857600080fd5b602435601a60043560e05260c052604060c02055005b632e2326d58114156104ff5734156104d557600080fd5b60043560a01c156104e557600080fd5b601960043560e05260c052604060c0205460005260206000f35b6356148dbf81141561057557341561051657600080fd5b60043560a01c1561052657600080fd5b600954331415610537576001610547565b60193360e05260c052604060c020545b61055057600080fd5b6001601760043560e05260c052604060c02060c052602060c020015460005260206000f35b63080feeab81141561070257341561058c57600080fd5b60043560a01c1561059c57600080fd5b6009543314156105ad5760016105ce565b60193360e05260c052604060c02054156105c85760016105ce565b33600435145b6105d757600080fd5b610140601760043560e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101a0610160516020811061063057600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a001525050610260808080610140518152505060208101905080806101a0518152505060208101905080806101c051815250506020810190508080610180518152505060208101905080806101e0518152505060a09050905060c05260c051610260f35b6352ca3ef781141561080857341561071957600080fd5b60095433141561072a57600161073a565b60193360e05260c052604060c020545b61074357600080fd5b6101406004356020811061075657600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a0015250506102008080806101405181525050602081019050808061016051815250506020810190508080610180518152505060609050905060c05260c051610200f35b637118514a8114156108a357341561081f57600080fd5b60243560011c1561082f57600080fd5b60443560011c1561083f57600080fd5b600954331461084d57600080fd5b60243560046004356020811061086257600080fd5b601660c052602060c0200160c052602060c020015560443560056004356020811061088c57600080fd5b601660c052602060c0200160c052602060c0200155005b63ddde6e4e81141561098c5734156108ba57600080fd5b6009543314156108cb5760016108db565b60193360e05260c052604060c020545b6108e457600080fd5b6101408080806004600435602081106108fc57600080fd5b601660c052602060c0200160c052602060c020015481525050602081019050808060056004356020811061092f57600080fd5b601660c052602060c0200160c052602060c020015481525050602081019050808060036004356020811061096257600080fd5b601660c052602060c0200160c052602060c02001548152505060609050905060c05260c051610140f35b6318160ddd811415610a2c5734156109a357600080fd5b60006101405261016060006020818352015b610140805161016051602081106109cb57600080fd5b601660c052602060c0200160c052602060c020548181830110156109ee57600080fd5b808201905090508152505b81516001018083528114156109b5575b5050610140516003548080610a1d57600080fd5b82049050905060005260206000f35b6370a08231811415610a8c573415610a4357600080fd5b60043560a01c15610a5357600080fd5b6004356101405261014051600658016125e6565b6101a0526101a0516003548080610a7d57600080fd5b82049050905060005260206000f35b63dd62ed3e811415610aeb573415610aa357600080fd5b60043560a01c15610ab357600080fd5b60243560a01c15610ac357600080fd5b601860043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b637e81ca66811415610b33573415610b0257600080fd5b6009543314610b1057600080fd5b600060443518610b1f57600080fd5b600435600d55602435600e55604435600f55005b635f13e1f9811415610b75573415610b4a57600080fd5b6009543314610b5857600080fd5b600060243518610b6757600080fd5b600435601455602435601555005b63b10961b5811415610c53573415610b8c57600080fd5b60006101405261016060006004818352015b6101605160048110610baf57600080fd5b601360c052602060c0200154610180526000610180511815610c20576101408051610180516014548082028215828483041417610beb57600080fd5b809050905090506015548080610c0057600080fd5b820490509050818183011015610c1557600080fd5b808201905090508152505b8151600101808352811415610b9e575b5050610140516003548080610c4457600080fd5b82049050905060005260206000f35b63d42b131c811415610c81573415610c6a57600080fd5b33610140526101405160065801612ab1565b600050005b630904b7fc811415610cb2573415610c9857600080fd5b60065801612764565b610140526101405160005260206000f35b633058006b811415610f2d573415610cc957600080fd5b60043560a01c15610cd957600080fd5b60243560a01c15610ce957600080fd5b6044356003548082028215828483041417610d0357600080fd5b80905090509050610140526001601760043560e05260c052604060c02060c052602060c0200154610160526001601760243560e05260c052604060c02060c052602060c02001546101805260036101605160208110610d6157600080fd5b601660c052602060c0200160c052602060c02001546101a05260056101605160208110610d8d57600080fd5b601660c052602060c0200160c052602060c02001541515610de65760046101805160208110610dbb57600080fd5b601660c052602060c0200160c052602060c02001541515610dde57600c54610de1565b60005b610de9565b60005b15610e7d57610140516101a05160048110610e0357600080fd5b601160c052602060c02001548082028215828483041417610e2357600080fd5b809050905090506101a05160048110610e3b57600080fd5b601260c052602060c02001548080610e5257600080fd5b8204905090506101c05261014080516101c05180821015610e7257600080fd5b808203905090508152505b601a60043560e05260c052604060c0205415610ea957601a60243560e05260c052604060c02054610eac565b60005b15610f0c5761014051600e548082028215828483041417610ecc57600080fd5b80905090509050600f548080610ee157600080fd5b8204905090506101c05261014080516101c05180821015610f0157600080fd5b808203905090508152505b610140516003548080610f1e57600080fd5b82049050905060005260206000f35b63a9059cbb81141561105d573415610f4457600080fd5b60043560a01c15610f5457600080fd5b600b541515610f64576001610f85565b60193360e05260c052604060c0205415610f7f576001610f85565b60095433145b1515610ff5576308c379a0610140526020610160526024610180527f596f7520617265206e6f7420616c6c6f77656420746f206d616b65207472616e6101a0527f73666572000000000000000000000000000000000000000000000000000000006101c05261018050608461015cfd5b3361014052600435610160526024356101805261018051610160516101405160065801612d09565b60005060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f35b6323b872dd8114156111f657341561107457600080fd5b60043560a01c1561108457600080fd5b60243560a01c1561109457600080fd5b600b5415156110a45760016110e2565b60193360e05260c052604060c02054156110bf5760016110e2565b601960043560e05260c052604060c02054156110dc5760016110e2565b60095433145b1515611152576308c379a0610140526020610160526024610180527f596f7520617265206e6f7420616c6c6f77656420746f206d616b65207472616e6101a0527f73666572000000000000000000000000000000000000000000000000000000006101c05261018050608461015cfd5b60043561014052602435610160526044356101805261018051610160516101405160065801612d09565b600050601860043560e05260c052604060c0203360e05260c052604060c0208054604435808210156111ad57600080fd5b80820390509050815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f35b63095ea7b381141561125857341561120d57600080fd5b60043560a01c1561121d57600080fd5b33610140526004356101605260243561018052610180516101605161014051600658016131ac565b6101e0526101e050600160005260206000f35b63395093518114156112ed57341561126f57600080fd5b60043560a01c1561127f57600080fd5b33610140526004356101605260183360e05260c052604060c02060043560e05260c052604060c020546024358181830110156112ba57600080fd5b8082019050905061018052610180516101605161014051600658016131ac565b6101e0526101e050600160005260206000f35b63a457c2d781141561138057341561130457600080fd5b60043560a01c1561131457600080fd5b33610140526004356101605260183360e05260c052604060c02060043560e05260c052604060c020546024358082101561134d57600080fd5b8082039050905061018052610180516101605161014051600658016131ac565b6101e0526101e050600160005260206000f35b63509027f581141561140757341561139757600080fd5b60095433146113a557600080fd5b600754156113b257600080fd5b6001600c554262015180808204905090506201518080820282158284830414176113db57600080fd5b809050905090506007556007546220f5808181830110156113fb57600080fd5b80820190509050600855005b6320b44b2981141561144457341561141e57600080fd5b60043560011c1561142e57600080fd5b600954331461143c57600080fd5b600435600b55005b63c311d04981141561148557341561145b57600080fd5b600954331461146957600080fd5b60006000600060006004356009546000f161148357600080fd5b005b63483f31ab8114156114be57341561149c57600080fd5b336101405260043561016052610160516101405160065801613226565b600050005b63bd2335f681141561153f5734156114d557600080fd5b60043560a01c156114e557600080fd5b60095433146114f357600080fd5b601a6001601760043560e05260c052604060c02060c052602060c02001541461151b57600080fd5b6004356101405260243561016052610160516101405160065801613226565b600050005b6342966c6881141561157857341561155657600080fd5b336101405260043561016052610160516101405160065801613464565b600050005b6379cc67908114156115fb57341561158f57600080fd5b60043560a01c1561159f57600080fd5b601860043560e05260c052604060c0203360e05260c052604060c0208054602435808210156115cd57600080fd5b808203905090508155506004356101405260243561016052610160516101405160065801613464565b600050005b63f2fde38b81141561167357341561161257600080fd5b60043560a01c1561162257600080fd5b600954331461163057600080fd5b60006004351861163f57600080fd5b6004356009547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060006000a3600435600955005b6307ddc22681141561170657341561168a57600080fd5b60043560a01c1561169a57600080fd5b60243560a01c156116aa57600080fd5b60095433146116b857600080fd5b60206101e0604463a9059cbb61014052602435610160526044356101805261015c60006004355af16116e957600080fd5b601f3d116116f657600080fd5b6000506101e05160005260206000f35b63bb2b38bd81141561179957341561171d57600080fd5b60043560a01c1561172d57600080fd5b60243560a01c1561173d57600080fd5b600954331461174b57600080fd5b60206101e0604463095ea7b361014052602435610160526044356101805261015c60006004355af161177c57600080fd5b601f3d1161178957600080fd5b6000506101e05160005260206000f35b6306fdde038114156118495734156117b057600080fd5b60008060c052602060c020610180602082540161012060006003818352015b826101205160200211156117e257611804565b61012051850154610120516020028501525b81516001018083528114156117cf575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6395d89b418114156118f957341561186057600080fd5b60018060c052602060c020610180602082540161012060006002818352015b82610120516020021115611892576118b4565b61012051850154610120516020028501525b815160010180835281141561187f575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63313ce56781141561191c57341561191057600080fd5b60025460005260206000f35b63f51e181a81141561193f57341561193357600080fd5b60035460005260206000f35b631b0bef5c81141561196257341561195657600080fd5b60045460005260206000f35b6380b14d1581141561198557341561197957600080fd5b60055460005260206000f35b63d7a62fac8114156119a857341561199c57600080fd5b60065460005260206000f35b6310fac3e18114156119cb5734156119bf57600080fd5b60075460005260206000f35b6319f5d7608114156119ee5734156119e257600080fd5b60085460005260206000f35b63e0a8e16c811415611a11573415611a0557600080fd5b600a5460005260206000f35b6312686aae811415611a34573415611a2857600080fd5b600b5460005260206000f35b630bff5d1a811415611a57573415611a4b57600080fd5b600c5460005260206000f35b63d7e670c7811415611a7a573415611a6e57600080fd5b600d5460005260206000f35b6303b0662d811415611a9d573415611a9157600080fd5b600e5460005260206000f35b634578da39811415611ac0573415611ab457600080fd5b600f5460005260206000f35b63fb79cf90811415611b15573415611ad757600080fd5b60243560208110611ae757600080fd5b60043560048110611af757600080fd5b601060c052602060c0200160c052602060c020015460005260206000f35b63f24d1a17811415611b51573415611b2c57600080fd5b60043560048110611b3c57600080fd5b601160c052602060c020015460005260206000f35b633314f0e5811415611b8d573415611b6857600080fd5b60043560048110611b7857600080fd5b601260c052602060c020015460005260206000f35b63c9cf051a811415611bc9573415611ba457600080fd5b60043560048110611bb457600080fd5b601360c052602060c020015460005260206000f35b63a35f0deb811415611bec573415611be057600080fd5b60145460005260206000f35b635dfb487e811415611c0f573415611c0357600080fd5b60155460005260206000f35b505b3461014052337fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf16020610140a2005b610160526101405261018060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101e06101a05160208110611ca257600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a001525050610180516102a0526102a0511515611d615760176101405160e05260c052604060c02060c052602060c02060008155600060018201556000600282015550600060005260005161016051565b610220516101c0511815611dbf576101c0516102205180820380806000811215611d8757195b607f1c15611d9457600080fd5b9050905090506000811215611db15761018051816000031c611db8565b61018051811b5b90506102a0525b6102a0516101e0518082028215828483041417611ddb57600080fd5b80905090509050610200518080611df157600080fd5b8204905090506102c05260176101405160e05260c052604060c02060c052602060c020600081556000600182015560006002820155506101a05160208110611e3857600080fd5b601660c052602060c0200160c052602060c02080546102c05180821015611e5e57600080fd5b8082039050905081555060016101a05160208110611e7b57600080fd5b601660c052602060c0200160c052602060c0200180546102a05180821015611ea257600080fd5b808203905090508155506102c05160005260005161016051565b6101805261014052610160526101a060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506102006101c05160208110611f2257600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a001525050610240516101e051181561202a576101e0516102405180820380806000811215611fbb57195b607f1c15611fc857600080fd5b9050905090506000811215611fe5576101a051816000031c611fec565b6101a051811b5b905060176101405160e05260c052604060c02060c052602060c0205561024051600260176101405160e05260c052604060c02060c052602060c02001555b6101605161022051808202821582848304141761204657600080fd5b8090509050905061020051808061205c57600080fd5b8204905090506102c05260176101405160e05260c052604060c02060c052602060c02080546102c0518082101561209257600080fd5b8082039050905081555060035460176101405160e05260c052604060c02060c052602060c020541015612195576102c0805160176101405160e05260c052604060c02060c052602060c020548181830110156120ed57600080fd5b80820190509050815250600060176101405160e05260c052604060c02060c052602060c020556102c05161020051808202821582848304141761212f57600080fd5b8090509050905061022051808061214557600080fd5b8204905090506102e0526101c0516020811061216057600080fd5b601660c052602060c0200160c052602060c02080546102e0518082101561218657600080fd5b808203905090508155506121d7565b6101c051602081106121a657600080fd5b601660c052602060c0200160c052602060c020805461016051808210156121cc57600080fd5b808203905090508155505b60016101c051602081106121ea57600080fd5b601660c052602060c0200160c052602060c0200180546102c0518082101561221157600080fd5b8082039050905081555060176101405160e05260c052604060c02060c052602060c0205415156122685760176101405160e05260c052604060c02060c052602060c020600081556000600182015560006002820155505b61018051565b6101805261014052610160526101a060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101a05115156122d4576101c051156122d7565b60005b1561233b576000610140513b111561231357601a6101c052601a600160176101405160e05260c052604060c02060c052602060c020015561233b565b600a546101c052600a54600160176101405160e05260c052604060c02060c052602060c02001555b6102006101c0516020811061234f57600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a00152505060006101a0511815612434576101e05161024051808203808060008112156123e657195b607f1c156123f357600080fd5b9050905090506000811215612410576101a051816000031c612417565b6101a051811b5b905060176101405160e05260c052604060c02060c052602060c020555b61024051600260176101405160e05260c052604060c02060c052602060c02001556102205115156124e25760016101c0516020811061247257600080fd5b601660c052602060c0200160c052602060c0200180546101605181818301101561249b57600080fd5b8082019050905081555060176101405160e05260c052604060c02060c052602060c0208054610160518181830110156124d357600080fd5b8082019050905081555061259d565b610160516102205180820282158284830414176124fe57600080fd5b8090509050905061020051808061251457600080fd5b8204905090506102c05260016101c0516020811061253157600080fd5b601660c052602060c0200160c052602060c0200180546102c05181818301101561255a57600080fd5b8082019050905081555060176101405160e05260c052604060c02060c052602060c02080546102c05181818301101561259257600080fd5b808201905090508155505b6101c051602081106125ae57600080fd5b601660c052602060c0200160c052602060c0208054610160518181830110156125d657600080fd5b8082019050905081555061018051565b610160526101405261018060176101405160e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101e06101a0516020811061264857600080fd5b601660c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a0015250506102005115156126d75760006000526000516101605156612762565b6101c05161022051808203808060008112156126ef57195b607f1c156126fc57600080fd5b90509050905060008112156127195761018051816000031c612720565b61018051811b5b90506101e051808202821582848304141761273a57600080fd5b8090509050905061020051808061275057600080fd5b82049050905060005260005161016051565b005b6101405260006007541815612aa3576008546007548082101561278657600080fd5b808203905090506201518080820490509050601980820690509050600a55600854421115612aa357600a54602081106127be57600080fd5b601660c052602060c0200160c052602060c02054600d5480820282158284830414176127e957600080fd5b80905090509050600f5480806127fe57600080fd5b82049050905061016052600a546020811061281857600080fd5b601660c052602060c0200160c052602060c0208054610160518082101561283e57600080fd5b80820390509050815550601b601660c052602060c0200160c052602060c02080546101605181818301101561287257600080fd5b80820190509050815550600880546201518081818301101561289357600080fd5b80820190509050815550600a541515612960576000600f54600d54808210156128bb57600080fd5b80820390509050181561296057600554600f5480820282158284830414176128e257600080fd5b80905090509050600f54600d54808210156128fc57600080fd5b80820390509050808061290e57600080fd5b820490509050600555600654600554111561296057600580546002808204905090508155506004805460018082018080600081121561294957195b607f1c1561295657600080fd5b9050905090508155505b6004546002600a546020811061297557600080fd5b601660c052602060c0200160c052602060c02001541815612a95576002600a54602081106129a257600080fd5b601660c052602060c0200160c052602060c0200154600454808203808060008112156129ca57195b607f1c156129d757600080fd5b9050905090506000811215612a17576001600a54602081106129f857600080fd5b601660c052602060c0200160c052602060c0200154816000031c612a41565b6001600a5460208110612a2957600080fd5b601660c052602060c0200160c052602060c0200154811b5b90506001600a5460208110612a5557600080fd5b601660c052602060c0200160c052602060c02001556004546002600a5460208110612a7f57600080fd5b601660c052602060c0200160c052602060c02001555b600160005260005161014051565b600060005260005161014051565b61016052610140526000610180526101a060006004818352015b6101a05160048110612adc57600080fd5b601360c052602060c02001546101c05260006101c0511815612c5f576101c0516014548082028215828483041417612b1357600080fd5b809050905090506015548080612b2857600080fd5b8204905090506101e05261018080516101e051818183011015612b4a57600080fd5b808201905090508152506101c080516101e05180821015612b6a57600080fd5b808203905090508152506101a05160048110612b8557600080fd5b601160c052602060c02001546102005261022060006020818352015b6102205160208110612bb257600080fd5b601660c052602060c0200160c052602060c02080546101c0516102205160208110612bdc57600080fd5b6101a05160048110612bed57600080fd5b601060c052602060c0200160c052602060c02001548082028215828483041417612c1657600080fd5b80905090509050610200518080612c2c57600080fd5b820490509050818183011015612c4157600080fd5b808201905090508155505b8151600101808352811415612ba1575b50505b60006101a05160048110612c7257600080fd5b601360c052602060c02001555b8151600101808352811415612acb575b50506000610180511815612cda57610140516101605161018051610140516101a052610180516101c0526101c0516101a0516006580161226e565b6101805261016052610140526000505b61014051610160516101805160065801612764565b6101a0526101805261016052610140526101a05061016051565b6101a052610140526101605261018052610180516003548082028215828483041417612d3457600080fd5b809050905090506101c052600160176101405160e05260c052604060c02060c052602060c02001546101e052600160176101605160e05260c052604060c02060c052602060c02001546102005260036101e05160208110612d9457600080fd5b601660c052602060c0200160c052602060c0200154610220526101405161016051610180516101a0516101c0516101e051610200516102205161014051610240526101c05161026052610260516102405160065801611ebc565b61022052610200526101e0526101c0526101a05261018052610160526101405260005060056101e05160208110612e2457600080fd5b601660c052602060c0200160c052602060c02001541515612e7d5760046102005160208110612e5257600080fd5b601660c052602060c0200160c052602060c02001541515612e7557600c54612e78565b60005b612e80565b60005b15612f4f576101c0516102205160048110612e9a57600080fd5b601160c052602060c02001548082028215828483041417612eba57600080fd5b809050905090506102205160048110612ed257600080fd5b601260c052602060c02001548080612ee957600080fd5b820490509050610240526101c080516102405180821015612f0957600080fd5b808203905090508152506102205160048110612f2457600080fd5b601360c052602060c02001805461024051818183011015612f4457600080fd5b808201905090508155505b601a6101405160e05260c052604060c0205415612f7d57601a6101605160e05260c052604060c02054612f80565b60005b15613014576101c051600e548082028215828483041417612fa057600080fd5b80905090509050600f548080612fb557600080fd5b820490509050610240526101c080516102405180821015612fd557600080fd5b80820390509050815250601d601660c052602060c0200160c052602060c02080546102405181818301101561300957600080fd5b808201905090508155505b60006007541815613142576101e051600a5418156130385760196101e0511061303b565b60005b15613142576101405161016051610180516101a0516101c0516101e05161020051610220516102405161014051610260526102605160065801611c40565b6102c0526102405261022052610200526101e0526101c0526101a0526101805261016052610140526102c05161024052600061024051181561314257600a54600160176101405160e05260c052604060c02060c052602060c02001556101405161016051610180516101a0516101c0516101e0516102005161022051610240516101405161026052610240516102805261028051610260516006580161226e565b6102405261022052610200526101e0526101c0526101a0526101805261016052610140526000505b6101405161016051610180516101a0516101c0516101e051610200516102205161016051610240526101c0516102605261026051610240516006580161226e565b61022052610200526101e0526101c0526101a0526101805261016052610140526000506101a051565b6101a0526101405261016052610180526101805160186101405160e05260c052604060c0206101605160e05260c052604060c02055610180516101c05261016051610140517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206101c0a360016000526000516101a051565b61018052610140526101605261016051600354808202821582848304141761324d57600080fd5b809050905090506101a05260006101c0526003600160176101405160e05260c052604060c02060c052602060c02001546020811061328a57600080fd5b601660c052602060c0200160c052602060c02001546101e0526101405161016051610180516101a0516101c0516101e05161014051610200526101a05161022052610220516102005160065801611ebc565b6101e0526101c0526101a05261018052610160526101405260005061020060006020818352015b6101c080516101e0516004811061331957600080fd5b601260c052602060c020015481818301101561333457600080fd5b808201905090508152505b8151600101808352811415613303575b50506101c0511515613394576019601660c052602060c0200160c052602060c02080546101a05181818301101561338557600080fd5b8082019050905081555061345e565b61020060006020818352015b61020051602081106133b157600080fd5b601660c052602060c0200160c052602060c02080546101a05161020051602081106133db57600080fd5b6101e051600481106133ec57600080fd5b601060c052602060c0200160c052602060c0200154808202821582848304141761341557600080fd5b809050905090506101c051808061342b57600080fd5b82049050905081818301101561344057600080fd5b808201905090508155505b81516001018083528114156133a0575b50505b61018051565b6101805261014052610160526000610140511861348057600080fd5b610140516101605161018051610140516101a0526101605160035480820282158284830414176134af57600080fd5b809050905090506101c0526101c0516101a05160065801611ebc565b610180526101605261014052600050610160516101a0526000610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a36101805156
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000a456e726561636844414f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044e52434800000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): EnreachDAO
Arg [1] : _symbol (string): NRCH
Arg [2] : _decimals (uint256): 9
Arg [3] : _supply (uint256): 10000000
Arg [4] : _transferLocked (bool): True
Arg [5] : _tax_nums (uint256[32]): 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,100,0,0,0,0,0,0
Arg [6] : _tax_denom (uint256): 10000
-----Encoded View---------------
42 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000004c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000500
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 0000000000000000000000000000000000000000000000000000000000989680
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [24] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [26] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [27] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [32] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [33] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [34] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [35] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [37] : 0000000000000000000000000000000000000000000000000000000000002710
Arg [38] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [39] : 456e726561636844414f00000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [41] : 4e52434800000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
OVERVIEW
Enreach is a Decentralised Autonomous Organisation (DAO) that envisions to play a pivotal role in the adoption, realisation, development and monetisation of decentralised finance (DeFi).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.