Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 397 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Set Utils | 6091761 | 2689 days ago | IN | 0 ETH | 0.00034255 | ||||
| 0x50e06b57 | 6091737 | 2689 days ago | IN | 0 ETH | 0.00032143 | ||||
| Buy Unit | 3396226 | 3191 days ago | IN | 0 ETH | 0.00103784 | ||||
| Buy Building | 3288104 | 3209 days ago | IN | 0 ETH | 0.00131128 | ||||
| Buy Unit | 3210272 | 3222 days ago | IN | 0 ETH | 0.00103784 | ||||
| Buy Unit | 3198924 | 3223 days ago | IN | 0 ETH | 0.00103784 | ||||
| Buy Unit | 3174748 | 3227 days ago | IN | 0 ETH | 0.013182 | ||||
| Buy Unit | 3172782 | 3228 days ago | IN | 0 ETH | 0.01255991 | ||||
| Buy Unit | 3165651 | 3229 days ago | IN | 0 ETH | 0.01196182 | ||||
| Buy Unit | 3162630 | 3229 days ago | IN | 0 ETH | 0.01218258 | ||||
| Buy Unit | 3161783 | 3230 days ago | IN | 0 ETH | 0.01317928 | ||||
| Move Units | 3150498 | 3231 days ago | IN | 0 ETH | 0.00219176 | ||||
| Buy Unit | 3149198 | 3232 days ago | IN | 0 ETH | 0.00103784 | ||||
| Buy Unit | 3142401 | 3233 days ago | IN | 0 ETH | 0.0119591 | ||||
| Buy Unit | 3132835 | 3234 days ago | IN | 0 ETH | 0.00103784 | ||||
| Buy Building | 3132828 | 3234 days ago | IN | 0 ETH | 0.00131256 | ||||
| Buy Unit | 3120377 | 3236 days ago | IN | 0 ETH | 0.01218802 | ||||
| Buy Building | 3118760 | 3237 days ago | IN | 0 ETH | 0.00131256 | ||||
| Move Units | 3052946 | 3248 days ago | IN | 0 ETH | 0.0018879 | ||||
| Move Units | 3045088 | 3249 days ago | IN | 0 ETH | 0.00150596 | ||||
| Buy Building | 3001999 | 3256 days ago | IN | 0 ETH | 0.00948918 | ||||
| Buy Unit | 3000839 | 3256 days ago | IN | 0 ETH | 0.01197542 | ||||
| Buy Unit | 2998857 | 3256 days ago | IN | 0 ETH | 0.0119727 | ||||
| Move Units | 2995533 | 3257 days ago | IN | 0 ETH | 0.00150596 | ||||
| Move Units | 2993604 | 3257 days ago | IN | 0 ETH | 0.00150596 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 2440530 | 3349 days ago | 0 ETH | ||||
| Transfer | 2440527 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439600 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439594 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439592 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439149 | 3349 days ago | 0 ETH | ||||
| Transfer | 2439074 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438948 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438936 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438863 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438724 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438517 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438507 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438465 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438459 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438438 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438435 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438433 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438388 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438383 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438332 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438321 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438287 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438276 | 3349 days ago | 0 ETH | ||||
| Transfer | 2438264 | 3349 days ago | 0 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EtherizationUtils
Compiler Version
v0.3.5-nightly.2016.8.8+commit.c3ed550
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2016-09-16
*/
contract Etherization {
// 1 eth starting price
uint public START_PRICE = 1000000000000000000;
// 0.8 eth city build price
uint public CITY_PRICE = 800000000000000000;
// 0.5 eth building build price
uint public BUILDING_PRICE = 500000000000000000;
// 0.2 eth unit build price
uint public UNIT_PRICE = 200000000000000000;
// 0.02 eth unit maintenance price
uint public MAINT_PRICE = 20000000000000000;
// 0.1 eth min withdraw amount to prevent spam
uint public MIN_WTH = 100000000000000000;
// minimum time to wait between moves in seconds
uint public WAIT_TIME = 14400;
uint MAP_ROWS = 34;
uint MAP_COLS = 34;
struct City {
uint owner;
string name;
// 0 - quarry, 1 - farm, 2 - woodworks, 3 - metalworks, 4 -stables
bool[5] buildings;
// 1 - pikemen, 2 - swordsmen, 3 - horsemen
uint[10] units; //maximum num of units per city 10
uint[2] rowcol;
int previousID;
int nextID;
}
struct Player {
// Player address
address etherAddress;
// Their name
string name;
// Their treasury balance
uint treasury;
// Their capitol
uint capitol;
// Number of cities the player has under control
uint numCities;
uint numUnits;
// When was their last move (based on block.timestamp)
uint lastTimestamp;
}
Player player;
Player[] public players;
uint public numPlayers = 0;
mapping(address => uint) playerIDs;
mapping(uint => uint) public playerMsgs;
City city;
City[] public cities;
uint public numCities = 0;
uint[] public quarryCities;
uint[] public farmCities;
uint[] public woodworksCities;
uint[] public metalworksCities;
uint[] public stablesCities;
uint[34][34] public map;
address wizardAddress;
address utilsAddress;
address utilsAddress2;
// Sum of all players' balances
uint public totalBalances = 0;
// Used to ensure only the owner can do some things.
modifier onlywizard { if (msg.sender == wizardAddress) _ }
// Used to ensure only the utils contract can do some things.
modifier onlyutils { if (msg.sender == utilsAddress || msg.sender == utilsAddress2) _ }
// Sets up defaults.
function Etherization() {
wizardAddress = msg.sender;
}
function start(string playerName, string cityName, uint row, uint col, uint rowref, uint colref) {
// If they paid too little, reject and refund their money.
if (msg.value < START_PRICE) {
//msg.sender.send(msg.value);
//playerMsgs[msg.sender] = "Not enough ether sent to found a city and start playing. Sending back any eth sent...";
return;
}
// If the player already exists
if (playerIDs[msg.sender] > 0) {
//msg.sender.send(msg.value);
//playerMsgs[msg.sender] = "You already founded an etherization. Lookup your player ID by calling getMyPlayerID(). Sending back any eth sent...";
return;
}
player.etherAddress = msg.sender;
player.name = playerName;
player.treasury = msg.value;
totalBalances += msg.value;
player.capitol = numCities;
player.numCities = 1;
player.numUnits = 1;
players.push(player);
city.owner = numPlayers;
city.name = cityName;
// the first city in the game has a quarry and a farm by default
if(numCities <= 0) {
city.buildings[0] = true;
quarryCities.push(0);
city.buildings[1] = true;
farmCities.push(0);
city.rowcol[0] = 10;
city.rowcol[1] = 10;
map[10][10] = numPlayers+1;
} else {
city.buildings[0] = false;
city.buildings[1] = false;
if(row>33 || col>33 || rowref>33 || colref>33 || int(row)-int(rowref) > int(1) || int(row)-int(rowref) < int(-1) || int(col)-int(colref) > int(1) || int(col)-int(colref) < int(-1) || map[row][col]>0 || map[rowref][colref]<=0) {
throw;
}
city.rowcol[0] = row;
city.rowcol[1] = col;
map[row][col] = numPlayers+1;
players[numPlayers].treasury -= START_PRICE;
// distribute build funds to production type building owners
uint productionCut;
uint i;
productionCut = START_PRICE / quarryCities.length;
for(i=0; i < quarryCities.length; i++) {
players[cities[quarryCities[i]].owner].treasury += productionCut;
}
}
city.units[0] = 1; //pikemen guards a city by default
city.previousID = -1;
city.nextID = -1;
cities.push(city);
playerIDs[msg.sender] = numPlayers+1; //to distinguish it from the default 0
numPlayers++;
numCities++;
playerMsgs[playerIDs[msg.sender]-1] = 1 + row*100 + col*10000;
players[numPlayers-1].lastTimestamp = now;
}
function deposit() {
players[playerIDs[msg.sender]-1].treasury += msg.value;
totalBalances += msg.value;
}
function withdraw(uint amount) {
if(int(playerIDs[msg.sender])-1 < 0) {
throw;
}
uint playerID = playerIDs[msg.sender]-1;
if(timePassed(playerID) < WAIT_TIME) {
playerMsgs[playerIDs[msg.sender]-1] = 2;
return;
}
if(amount < players[playerID].treasury && amount > MIN_WTH) {
players[playerID].treasury -= amount;
totalBalances -= amount;
players[playerID].etherAddress.send((amount*99)/100); //keep 1% as commission
}
}
function getMyPlayerID() constant returns (int ID) {
return int(playerIDs[msg.sender])-1;
}
function getMyMsg() constant returns (uint s) {
return playerMsgs[playerIDs[msg.sender]-1];
}
function getCity(uint cityID) constant returns (uint owner, string cityName, bool[5] buildings, uint[10] units, uint[2] rowcol, int previousID, int nextID) {
return (cities[cityID].owner, cities[cityID].name, cities[cityID].buildings, cities[cityID].units, cities[cityID].rowcol, cities[cityID].previousID, cities[cityID].nextID);
}
function timePassed(uint playerID) constant returns (uint tp) {
return (now - players[playerID].lastTimestamp);
}
// Used only by the wizard to check his commission.
function getCommission() onlywizard constant returns (uint com) {
return this.balance-totalBalances;
}
// Used only by the wizard to collect his commission.
function sweepCommission(uint amount) onlywizard {
if(amount < this.balance-totalBalances) {
wizardAddress.send(amount);
}
}
function setUtils(address a) onlywizard {
utilsAddress = a;
}
function setUtils2(address a) onlywizard {
utilsAddress2 = a;
}
function getPlayerID(address sender) onlyutils constant returns (uint playerID) {
if(int(playerIDs[sender])-1 < 0) {
throw;
}
return playerIDs[sender]-1;
}
function getWwLength() constant returns (uint length) {
return woodworksCities.length;
}
function getMwLength() constant returns (uint length) {
return metalworksCities.length;
}
function getStLength() constant returns (uint length) {
return stablesCities.length;
}
function getFmLength() constant returns (uint length) {
return farmCities.length;
}
function getQrLength() constant returns (uint length) {
return quarryCities.length;
}
function setMsg(address sender, uint s) onlyutils {
playerMsgs[playerIDs[sender]-1] = s;
}
function setNumCities(uint nc) onlyutils {
numCities = nc;
}
function setUnit(uint cityID, uint i, uint unitType) onlyutils {
cities[cityID].units[i] = unitType;
}
function setOwner(uint cityID, uint owner) onlyutils {
cities[cityID].owner = owner;
}
function setName(uint cityID, string name) onlyutils {
cities[cityID].name = name;
}
function setPreviousID(uint cityID, int previousID) onlyutils {
cities[cityID].previousID = previousID;
}
function setNextID(uint cityID, int nextID) onlyutils {
cities[cityID].nextID = nextID;
}
function setRowcol(uint cityID, uint[2] rowcol) onlyutils {
cities[cityID].rowcol = rowcol;
}
function setMap(uint row, uint col, uint ind) onlyutils {
map[row][col] = ind;
}
function setCapitol(uint playerID, uint capitol) onlyutils {
players[playerID].capitol = capitol;
}
function setNumUnits(uint playerID, uint numUnits) onlyutils {
players[playerID].numUnits = numUnits;
}
function setNumCities(uint playerID, uint numCities) onlyutils {
players[playerID].numCities = numCities;
}
function setTreasury(uint playerID, uint treasury) onlyutils {
players[playerID].treasury = treasury;
}
function setLastTimestamp(uint playerID, uint timestamp) onlyutils {
players[playerID].lastTimestamp = timestamp;
}
function setBuilding(uint cityID, uint buildingType) onlyutils {
cities[cityID].buildings[buildingType] = true;
if(buildingType == 0) {
quarryCities.push(cityID);
} else if(buildingType == 1) {
farmCities.push(cityID);
} else if(buildingType == 2) {
woodworksCities.push(cityID);
} else if(buildingType == 3) {
metalworksCities.push(cityID);
} else if(buildingType == 4) {
stablesCities.push(cityID);
}
}
function pushCity() onlyutils {
city.buildings[0] = false;
city.buildings[1] = false;
cities.push(city);
}
}
contract EtherizationUtils {
//uint[2] sRowcol;
//uint[2] tRowcol;
Etherization public e;
address wizardAddress;
// Used to ensure only the owner can do some things.
modifier onlywizard { if (msg.sender == wizardAddress) _ }
function EtherizationUtils() {
wizardAddress = msg.sender;
}
function sete(address a) onlywizard {
e = Etherization(a);
}
function buyBuilding(uint cityID, uint buildingType) {
uint playerID = e.getPlayerID(msg.sender);
if(e.timePassed(playerID) < e.WAIT_TIME()) {
e.setMsg(msg.sender, 2);
return;
}
uint owner;
(owner,) = e.cities(cityID);
if(playerID != owner || cityID > e.numCities()-1) {
e.setMsg(msg.sender, 3);
return;
}
if(buildingType<0 || buildingType>4) {
e.setMsg(msg.sender, 4);
return;
}
bool[5] memory buildings;
uint[2] memory rowcol;
(,,buildings,,rowcol,,) = e.getCity(cityID);
if(buildings[buildingType]) {
e.setMsg(msg.sender, 5);
return;
}
uint treasury;
(,,treasury,,,,) = e.players(owner);
if(treasury < e.BUILDING_PRICE()) {
e.setMsg(msg.sender, 6);
return;
}
e.setTreasury(playerID, treasury-e.BUILDING_PRICE());
// distribute build funds to production type building owners
uint productionCut;
uint i;
productionCut = e.BUILDING_PRICE() / e.getQrLength();
for(i=0; i < e.getQrLength(); i++) {
(owner,) = e.cities(e.quarryCities(i));
(,,treasury,,,,) = e.players(owner);
e.setTreasury(owner, treasury+productionCut);
}
e.setBuilding(cityID, buildingType);
e.setMsg(msg.sender, 7 + rowcol[0]*100 + rowcol[1]*10000);
e.setLastTimestamp(playerID, now);
}
function buyUnit(uint cityID, uint unitType) {
uint playerID = e.getPlayerID(msg.sender);
if(e.timePassed(playerID) < e.WAIT_TIME()) {
e.setMsg(msg.sender, 2);
return;
}
uint owner;
(owner,) = e.cities(cityID);
if(playerID != owner || cityID > e.numCities()-1) {
e.setMsg(msg.sender, 8);
return;
}
if(unitType<1 || unitType>3) {
e.setMsg(msg.sender, 9);
return;
}
uint numUnits;
uint treasury;
(,,treasury,,,numUnits,) = e.players(owner);
uint maint = numUnits*e.MAINT_PRICE();
if(treasury < e.UNIT_PRICE() + maint) {
e.setMsg(msg.sender, 10);
return;
}
if(unitType==1&&e.getWwLength()==0 || unitType==2&&e.getMwLength()==0 || unitType==3&&e.getStLength()==0) {
e.setMsg(msg.sender, 11);
return;
}
// try to add the unit at the last empty garrison spot
uint[10] memory units;
uint[2] memory rowcol;
(,,,units,rowcol,,) = e.getCity(cityID);
for(uint i=0; i < units.length; i++) {
if(units[i] < 1) {
e.setUnit(cityID, i, unitType);
e.setNumUnits(playerID, numUnits+1);
e.setTreasury(playerID, treasury-e.UNIT_PRICE()-maint);
// distribute build funds to production type building owners
uint productionCut;
uint j;
// pikemen
if(unitType == 1) {
productionCut = e.UNIT_PRICE() / e.getWwLength();
for(j=0; j < e.getWwLength(); j++) {
(owner,) = e.cities(e.woodworksCities(j));
(,,treasury,,,,) = e.players(owner);
e.setTreasury(owner, treasury+productionCut);
}
}
else if(unitType == 2) {
productionCut = e.UNIT_PRICE() / e.getMwLength();
for(j=0; j < e.getMwLength(); j++) {
(owner,) = e.cities(e.metalworksCities(j));
(,,treasury,,,,) = e.players(owner);
e.setTreasury(owner, treasury+productionCut);
}
}
else if(unitType == 3) {
productionCut = e.UNIT_PRICE() / e.getStLength();
for(j=0; j < e.getStLength(); j++) {
(owner,) = e.cities(e.stablesCities(j));
(,,treasury,,,,) = e.players(owner);
e.setTreasury(owner, treasury+productionCut);
}
}
// pay maintenance for all other units to farm owners
uint maintCut = maint / e.getFmLength();
for(j=0; j < e.getFmLength(); j++) {
(owner,) = e.cities(e.farmCities(j));
(,,treasury,,,,) = e.players(owner);
e.setTreasury(owner, treasury+maintCut);
}
e.setMsg(msg.sender, 12 + rowcol[0]*100 + rowcol[1]*10000);
e.setLastTimestamp(playerID, now);
return;
}
}
e.setMsg(msg.sender, 13);
}
function moveUnits(uint source, uint target, uint[] unitIndxs) {
uint[2] memory sRowcol;
uint[2] memory tRowcol;
uint[10] memory unitsS;
uint[10] memory unitsT;
uint playerID = e.getPlayerID(msg.sender);
if(e.timePassed(playerID) < e.WAIT_TIME()) {
e.setMsg(msg.sender, 2);
return;
}
uint ownerS;
uint ownerT;
(ownerS,,,unitsS,sRowcol,,) = e.getCity(source);
(ownerT,,,unitsT,tRowcol,,) = e.getCity(target);
if(playerID != ownerS || playerID != ownerT || int(sRowcol[0])-int(tRowcol[0]) > int(1) || int(sRowcol[0])-int(tRowcol[0]) < int(-1) || int(sRowcol[1])-int(tRowcol[1]) > int(1) || int(sRowcol[1])-int(tRowcol[1]) < int(-1)) {
//if(playerID != ownerS || playerID != ownerT || source > e.numCities()-1 || target > e.numCities()-1) {
//if(playerID != ownerS || playerID != ownerT) {
e.setMsg(msg.sender, 14);
return;
}
uint j = 0;
for(uint i=0; i<unitIndxs.length; i++) {
if(unitsS[unitIndxs[i]] < 1) {
continue; //skip for non-unit
}
for(; j<unitsT.length; j++) {
if(unitsT[j] == 0) {
e.setUnit(target, j, unitsS[unitIndxs[i]]);
unitsS[unitIndxs[i]] = 0;
e.setUnit(source, unitIndxs[i], 0);
j++;
break;
}
}
if(j == unitsT.length) {
e.setMsg(msg.sender, 15);
e.setLastTimestamp(playerID, now);
return; //target city garrison filled
}
}
e.setMsg(msg.sender, 16);
e.setLastTimestamp(playerID, now);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"source","type":"uint256"},{"name":"target","type":"uint256"},{"name":"unitIndxs","type":"uint256[]"}],"name":"moveUnits","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"cityID","type":"uint256"},{"name":"unitType","type":"uint256"}],"name":"buyUnit","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"address"}],"name":"sete","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"cityID","type":"uint256"},{"name":"buildingType","type":"uint256"}],"name":"buyBuilding","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"e","outputs":[{"name":"","type":"address"}],"type":"function"},{"inputs":[],"type":"constructor"}]Contract Creation Code
60606040525b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b6140368061003f6000396000f360606040526000357c010000000000000000000000000000000000000000000000000000000090048063231944e2146100655780634b8772c1146100ca57806374331be7146100eb578063e75528cc14610103578063ffae15ba1461012457610063565b005b6100c86004808035906020019091908035906020019091908035906020019082018035906020019191908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505090909190505061015d565b005b6100e96004808035906020019091908035906020019091905050610cb6565b005b6101016004808035906020019091905050612e9b565b005b6101226004808035906020019091908035906020019091905050612f21565b005b6101316004805050614010565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6040604051908101604052806002905b600081526020019060019003908161016d579050506040604051908101604052806002905b60008152602001906001900390816101925790505061014060405190810160405280600a905b60008152602001906001900390816101b85790505061014060405190810160405280600a905b60008152602001906001900390816101de5790505060006000600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001509450600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed919987604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150101561048157600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050610ca8565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a0018061014001806040018051906020018051906020016040529091929394509091929350905050809b50819950829650505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518c604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a0018061014001806040018051906020018051906020016040529091929394509091929350905050809a5081985082955050505083851415806106325750828514155b8061066357506001886000600281101561000257909060200201518a60006002811015610002579090602002015103135b806106b357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886000600281101561000257909060200201518a60006002811015610002579090602002015103125b806106e457506001886001600281101561000257909060200201518a60016002811015610002579090602002015103135b8061073457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886001600281101561000257909060200201518a60016002811015610002579090602002015103125b156107e857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600e604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050610ca8565b60009150600090505b8951811015610b6a576001878b8381518110156100025790602001906020020151600a8110156100025790906020020151101561082d57610b5d565b5b8550600a821015610a0f5760008683600a81101561000257909060200201511415610a0157600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58c848a8e8681518110156100025790602001906020020151600a8110156100025790906020020151604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f115610002575050506000878b8381518110156100025790602001906020020151600a8110156100025790906020020190908181526020015050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58d8c84815181101561000257906020019060200201516000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f115610002575050508180600101925050610a0f565b5b818060010192505061082e565b8550600a821415610b5c57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600f604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8642604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050610ca8565b5b80806001019150506107f1565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336010604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8642604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b505050505050505050505050565b6000600060006000600061014060405190810160405280600a905b6000815260200190600190039081610cd1579050506040604051908101604052806002905b6000815260200190600190039081610cf6579050506000600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001509a50600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed91998d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001501015610f9757600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b9188e604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050898b1415806110e557506001600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150038d115b1561119957600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336008604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b60018c10806111a8575060038c115b1561125c57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336009604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915050809a508199505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166364109ae0604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508902965086600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001500188101561150857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600a604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b60018c1480156115a457506000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ae8c55f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150145b80611647575060028c14801561164657506000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1d4f708604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150145b5b806116ea575060038c1480156116e957506000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a0af2ec604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150145b5b1561179e57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600b604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518e604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a0018061014001806040018051906020018051906020016040529091929394955090919293945090919293509050508096508197505050600093505b8550600a841015612de15760018685600a81101561000257909060200201511015612dd357600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58e868f604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b758c60018c01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8c89600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508c0303604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f1156100025750505060018c1415611f7457600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ae8c55f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004925082506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ae8c55f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150821015611f6f57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343e271ad85604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b858b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050611c1f565b61287a565b60028c14156123f857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1d4f708604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004925082506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1d4f708604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508210156123f357600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ad001a585604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b858b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b81806001019250506120a3565b612879565b60038c141561287857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a0af2ec604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004925082506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a0af2ec604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015082101561287757600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c404cf185604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b858b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050612527565b5b5b5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ba1162d7604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150870490506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ba1162d7604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150821015612c6257600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663261ed1d885604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b838b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050612912565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33612710886001600281101561000257909060200201510260648960006002811015610002579090602002015102600c0101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8c42604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b5b8380600101945050611877565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600d604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b50505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612f1d5780600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b5b50565b6000600060a0604051908101604052806005905b6000815260200190600190039081612f35579050506040604051908101604052806002905b6000815260200190600190039081612f5a57905050600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001509650600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed919989604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f115610002575050506040518051906020015010156131f957600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b9188a604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f115610002575050506040518051906020018051906020018051906020018051906020015090915090505080965050858714158061334757506001600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001500389115b156133fb57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336003604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600088108061340a5750600488115b156134be57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336004604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518a604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091925090505080955081965050508488600581101561000257909060200201511561365757600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336005604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb87604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080935050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363ba7319604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015083101561386e57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336006604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf88600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363ba7319604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508603604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363ba7319604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004915081506000905080505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150811015613e0557600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe8e6a6384604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f115610002575050506040518051906020018051906020018051906020018051906020015090915090505080965050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb87604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080935050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf87848601604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8080600101915050613ab5565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316ce8a698a8a604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db3361271087600160028110156100025790906020020151026064886000600281101561000257909060200201510260070101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8842604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b505050505050505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156
Deployed Bytecode
0x60606040526000357c010000000000000000000000000000000000000000000000000000000090048063231944e2146100655780634b8772c1146100ca57806374331be7146100eb578063e75528cc14610103578063ffae15ba1461012457610063565b005b6100c86004808035906020019091908035906020019091908035906020019082018035906020019191908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505090909190505061015d565b005b6100e96004808035906020019091908035906020019091905050610cb6565b005b6101016004808035906020019091905050612e9b565b005b6101226004808035906020019091908035906020019091905050612f21565b005b6101316004805050614010565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6040604051908101604052806002905b600081526020019060019003908161016d579050506040604051908101604052806002905b60008152602001906001900390816101925790505061014060405190810160405280600a905b60008152602001906001900390816101b85790505061014060405190810160405280600a905b60008152602001906001900390816101de5790505060006000600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001509450600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed919987604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150101561048157600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050610ca8565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a0018061014001806040018051906020018051906020016040529091929394509091929350905050809b50819950829650505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518c604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a0018061014001806040018051906020018051906020016040529091929394509091929350905050809a5081985082955050505083851415806106325750828514155b8061066357506001886000600281101561000257909060200201518a60006002811015610002579090602002015103135b806106b357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886000600281101561000257909060200201518a60006002811015610002579090602002015103125b806106e457506001886001600281101561000257909060200201518a60016002811015610002579090602002015103135b8061073457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886001600281101561000257909060200201518a60016002811015610002579090602002015103125b156107e857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600e604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050610ca8565b60009150600090505b8951811015610b6a576001878b8381518110156100025790602001906020020151600a8110156100025790906020020151101561082d57610b5d565b5b8550600a821015610a0f5760008683600a81101561000257909060200201511415610a0157600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58c848a8e8681518110156100025790602001906020020151600a8110156100025790906020020151604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f115610002575050506000878b8381518110156100025790602001906020020151600a8110156100025790906020020190908181526020015050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58d8c84815181101561000257906020019060200201516000604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f115610002575050508180600101925050610a0f565b5b818060010192505061082e565b8550600a821415610b5c57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600f604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8642604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050610ca8565b5b80806001019150506107f1565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336010604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8642604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b505050505050505050505050565b6000600060006000600061014060405190810160405280600a905b6000815260200190600190039081610cd1579050506040604051908101604052806002905b6000815260200190600190039081610cf6579050506000600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001509a50600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed91998d604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001501015610f9757600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b9188e604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050898b1415806110e557506001600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150038d115b1561119957600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336008604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b60018c10806111a8575060038c115b1561125c57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336009604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915050809a508199505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166364109ae0604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508902965086600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001500188101561150857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600a604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b60018c1480156115a457506000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ae8c55f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150145b80611647575060028c14801561164657506000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1d4f708604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150145b5b806116ea575060038c1480156116e957506000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a0af2ec604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150145b5b1561179e57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600b604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518e604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a0018061014001806040018051906020018051906020016040529091929394955090919293945090919293509050508096508197505050600093505b8550600a841015612de15760018685600a81101561000257909060200201511015612dd357600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468129a58e868f604051847c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663755b5b758c60018c01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8c89600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508c0303604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f1156100025750505060018c1415611f7457600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ae8c55f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004925082506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ae8c55f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150821015611f6f57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343e271ad85604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b858b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050611c1f565b61287a565b60028c14156123f857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1d4f708604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004925082506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1d4f708604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508210156123f357600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ad001a585604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b858b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b81806001019250506120a3565b612879565b60038c141561287857600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a0af2ec604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afa40bbd604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004925082506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a0af2ec604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015082101561287757600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c404cf185604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b858b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050612527565b5b5b5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ba1162d7604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150870490506000915081505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ba1162d7604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150821015612c6257600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663261ed1d885604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200150909150905050809a5050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb8b604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080985050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf8b838b01604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8180600101925050612912565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33612710886001600281101561000257909060200201510260648960006002811015610002579090602002015102600c0101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8c42604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050612e8c565b5b8380600101945050611877565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db33600d604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b50505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612f1d5780600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b5b50565b6000600060a0604051908101604052806005905b6000815260200190600190039081612f35579050506040604051908101604052806002905b6000815260200190600190039081612f5a57905050600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e56556a933604051827c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506020604051808303816000876161da5a03f11561000257505050604051805190602001509650600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663388aef5c604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfed919989604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f115610002575050506040518051906020015010156131f957600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336002604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b9188a604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f115610002575050506040518051906020018051906020018051906020018051906020015090915090505080965050858714158061334757506001600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166324b5c134604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001500389115b156133fb57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336003604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600088108061340a5750600488115b156134be57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336004604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71306518a604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506102a0604051808303816000876161da5a03f115610002575050506040518051906020018051906020018060a001806101400180604001805190602001805190602001604052909192939495509091929394509091925090505080955081965050508488600581101561000257909060200201511561365757600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336005604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb87604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080935050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363ba7319604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015083101561386e57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db336006604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050614005565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf88600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363ba7319604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f11561000257505050604051805190602001508603604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363ba7319604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015004915081506000905080505b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a28db13604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150811015613e0557600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a51b918600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe8e6a6384604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506080604051808303816000876161da5a03f115610002575050506040518051906020018051906020018051906020018051906020015090915090505080965050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f71d96cb87604051827c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060e0604051808303816000876161da5a03f1156100025750505060405180519060200180519060200180519060200180519060200180519060200180519060200180519060200150909192939495509091929394509091925090915090505080935050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634dc43eaf87848601604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b8080600101915050613ab5565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316ce8a698a8a604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329de91db3361271087600160028110156100025790906020020151026064886000600281101561000257909060200201510260070101604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506000604051808303816000876161da5a03f11561000257505050600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166374f519db8842604051837c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506000604051808303816000876161da5a03f115610002575050505b505050505050505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.