ETH Price: $2,646.49 (-0.19%)

Contract

0x0c5Ca5CC688F13b79aa2cf842E47C2f6CA1d5e8b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve208698602024-10-01 9:50:2318 days ago1727776223IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0008671118.36319908
Approve208698572024-10-01 9:49:4718 days ago1727776187IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0009361419.82014493
Approve208698572024-10-01 9:49:4718 days ago1727776187IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001030621.82014493
Approve208698572024-10-01 9:49:4718 days ago1727776187IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001030621.82014493
Approve208698552024-10-01 9:49:2318 days ago1727776163IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0009170919.54600769
Approve208698552024-10-01 9:49:2318 days ago1727776163IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0009387819.87600769
Approve208698552024-10-01 9:49:2318 days ago1727776163IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010332421.87600769
Approve208698552024-10-01 9:49:2318 days ago1727776163IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010332421.87600769
Approve208698552024-10-01 9:49:2318 days ago1727776163IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010332421.87600769
Approve208698542024-10-01 9:49:1118 days ago1727776151IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0009692720.52154916
Approve208698542024-10-01 9:49:1118 days ago1727776151IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0009692720.52154916
Approve208698532024-10-01 9:48:5918 days ago1727776139IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0009734920.61092711
Approve208698532024-10-01 9:48:5918 days ago1727776139IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010679522.61092711
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698522024-10-01 9:48:4718 days ago1727776127IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.001002821.23149908
Approve208698512024-10-01 9:48:3518 days ago1727776115IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010754522.76965941
Approve208698512024-10-01 9:48:3518 days ago1727776115IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010754522.76965941
Approve208698512024-10-01 9:48:3518 days ago1727776115IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010754522.76965941
Approve208698512024-10-01 9:48:3518 days ago1727776115IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0010751822.76965941
Approve208698512024-10-01 9:48:3518 days ago1727776115IN
0x0c5Ca5CC...6CA1d5e8b
0 ETH0.0015477732.76965941
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
208698502024-10-01 9:48:2318 days ago1727776103
0x0c5Ca5CC...6CA1d5e8b
4 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
C69

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-01
*/

// SPDX-License-Identifier: MIT

/*
                     ..-+++++=::++++-.                      
                    .-********#*******:.                    
                  ..=***##*****########:.                   
                 ..=*************#******+..                 
                 .=*****###########***%###=..               
               ..=*****##*+**##*+*####%#**#:.               
             ..:+********##%@%#-..*#=%@%+.+:.               
             .:***********#*###*+*########=..               
           ...+*****************#*****##***:.               
           ..=********##%#****************##..              
           ..+*********###########******##%..               
        ...:**-************###############*.                
    ..:=+%@@@@=.+**************###########:.                
..:=#@@@@@@@@@@-.:+**********************-..                
*%@@@@@@@@@@@@@@*..:********************:..                 
@@@@@@@@@@@@@@@@@@=..:+**************#:..  ......           
@@@@@@@@@@@@@@@@@@@@+...*%#*******+@@@...-*****=..          
@@@@@@@@@@@@@@@@@@@@@@+*@@@@@@#-%@@@@@@@####*****+....      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###*##*****=..      
@@@@@@@@@@@@@@@@@@@@@@@@#*%+-#@@@@@@@@%***###***#***=..     
@@@@@@@@@@@@@@@@@@@@@@@%-....-@@@@@@@%*******###*****:.     
@@@@@@@@@@@@@@@@@@@@@@@@+....=@@@@#:-************#***-.     
@@@@@@@@@@@@@@@@@@@@@@@@+....=@@@:....:**********#***+.     
@@@@@@@@@@@@@@@@@@@@@@@%-.. .=@+.     ..=****#*******#+:.   
@@@@@@@@@@@@@@@@@@@@@@@%:...-@@@#..    ..+@@%..=*****#+:.   
@@@@@@@@@@@@@@@@@@@@@@@#..=@@@@@@@-.    ..=@@*...=#%#-::    
@@@@@@@@@@@@@@@@@@@@@@@%=%@@@@@@@@%-.   ...=@+.  ..==.=.    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:. ..+@@@#:. ..==.#:    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:.=@@@@@@@*..:=-=@.    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%++@#.    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%--%@@@@@@@@@@@@@@@+.    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*....*@@@@@@@@@@@@@@:       

*/

pragma solidity ^0.8.25;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

contract C69 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10 ** _decimals;
    string private constant _name = unicode"Chain 69";
    string private constant _symbol = unicode"C69";
    uint256 public _maxTxAmount;
    uint256 public _maxWalletSize;

    uint constant MAX_GENS_START = 1000;
    uint public constant GEN_MIN = 1;
    uint public constant gen_max = MAX_GENS_START;
    uint public gen = MAX_GENS_START;
    uint public constant max_breed = 1000;
    mapping(address owner => uint) public counts;
    uint public breed_total_count;
    uint breed_id;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;

    uint background_color;
    uint body;
    uint body_color;
    uint facial_hair;
    uint facial_hair_color;
    uint shirt_1;
    uint shirt_1_color;
    uint shirt_2;
    uint shirt_2_color;
    uint shirt_3;
    uint shirt_3_color;
    uint nose;
    uint nose_color;
    uint mouth;
    uint mouth_color;
    uint eyes_base_color;
    uint eyes;
    uint eyes_color;
    uint hair;
    uint hair_color;
    uint hat;
    uint hat_color;
    uint accessories;
    uint accessories_color;
    uint mask;
    uint mask_color;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);

    constructor() {
        _balances[_msgSender()] = _tTotal;
        _maxTxAmount = 1200000 * 10 ** _decimals;
        _maxWalletSize = 1200000 * 10 ** _decimals;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function getMaxTxAmount() public view returns (uint256) {
        return _maxTxAmount;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if (to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
        }

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

     function resetMaxTxAmount() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function getETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function getTokens(address _tokenAddr) external onlyOwner {
        uint256 tokenBalance = IERC20(_tokenAddr).balanceOf(address(this));
        require(tokenBalance > 0, "No tokens to transfer");
        IERC20(_tokenAddr).transfer(owner(), tokenBalance);
    }

    function startTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);
        tradingOpen = true;
    }

     function setBackgroundColor(uint256 _background_color) public {
        background_color = _background_color;
    }

    function setBody(uint256 _body) public {
        body = _body;
    }

    function setBodyColor(uint256 _body_color) public {
        body_color = _body_color;
    }

    function setFacialHair(uint256 _facial_hair) public {
        facial_hair = _facial_hair;
    }

    function setFacialHairColor(uint256 _facial_hair_color) public {
        facial_hair_color = _facial_hair_color;
    }

    function setShirt1(uint256 _shirt_1) public {
        shirt_1 = _shirt_1;
    }

    function setShirt1Color(uint256 _shirt_1_color) public {
        shirt_1_color = _shirt_1_color;
    }

    function setShirt2(uint256 _shirt_2) public {
        shirt_2 = _shirt_2;
    }

    function setShirt2Color(uint256 _shirt_2_color) public {
        shirt_2_color = _shirt_2_color;
    }

    function setShirt3(uint256 _shirt_3) public {
        shirt_3 = _shirt_3;
    }

    function setShirt3Color(uint256 _shirt_3_color) public {
        shirt_3_color = _shirt_3_color;
    }

    function setNose(uint256 _nose) public {
        nose = _nose;
    }

    function setNoseColor(uint256 _nose_color) public {
        nose_color = _nose_color;
    }

    function setMouth(uint256 _mouth) public {
        mouth = _mouth;
    }

    function setMouthColor(uint256 _mouth_color) public {
        mouth_color = _mouth_color;
    }

    function setEyesBaseColor(uint256 _eyes_base_color) public {
        eyes_base_color = _eyes_base_color;
    }

    function setEyes(uint256 _eyes) public {
        eyes = _eyes;
    }

    function setEyesColor(uint256 _eyes_color) public {
        eyes_color = _eyes_color;
    }

    function setHair(uint256 _hair) public {
        hair = _hair;
    }

    function setHairColor(uint256 _hair_color) public {
        hair_color = _hair_color;
    }

    function setHat(uint256 _hat) public {
        hat = _hat;
    }

    function setHatColor(uint256 _hat_color) public {
        hat_color = _hat_color;
    }

    function setAccessories(uint256 _accessories) public {
        accessories = _accessories;
    }

    function setAccessoriesColor(uint256 _accessories_color) public {
        accessories_color = _accessories_color;
    }

    function setMask(uint256 _mask) public {
        mask = _mask;
    }

    function setMaskColor(uint256 _mask_color) public {
        mask_color = _mask_color;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"GEN_MIN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"breed_total_count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"counts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"gen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gen_max","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"max_breed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_accessories","type":"uint256"}],"name":"setAccessories","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_accessories_color","type":"uint256"}],"name":"setAccessoriesColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_background_color","type":"uint256"}],"name":"setBackgroundColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_body","type":"uint256"}],"name":"setBody","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_body_color","type":"uint256"}],"name":"setBodyColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_eyes","type":"uint256"}],"name":"setEyes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_eyes_base_color","type":"uint256"}],"name":"setEyesBaseColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_eyes_color","type":"uint256"}],"name":"setEyesColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_facial_hair","type":"uint256"}],"name":"setFacialHair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_facial_hair_color","type":"uint256"}],"name":"setFacialHairColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hair","type":"uint256"}],"name":"setHair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hair_color","type":"uint256"}],"name":"setHairColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hat","type":"uint256"}],"name":"setHat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hat_color","type":"uint256"}],"name":"setHatColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mask","type":"uint256"}],"name":"setMask","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mask_color","type":"uint256"}],"name":"setMaskColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mouth","type":"uint256"}],"name":"setMouth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mouth_color","type":"uint256"}],"name":"setMouthColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_nose","type":"uint256"}],"name":"setNose","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_nose_color","type":"uint256"}],"name":"setNoseColor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shirt_1","type":"uint256"}],"name":"setShirt1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shirt_1_color","type":"uint256"}],"name":"setShirt1Color","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shirt_2","type":"uint256"}],"name":"setShirt2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shirt_2_color","type":"uint256"}],"name":"setShirt2Color","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shirt_3","type":"uint256"}],"name":"setShirt3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_shirt_3_color","type":"uint256"}],"name":"setShirt3Color","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526103e8600555348015610015575f5ffd5b505f61002561020360201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506009600a6100cf919061037b565b6305f5e1006100de91906103c5565b60015f6100ef61020360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506009600a61013a919061037b565b62124f8061014891906103c5565b6003819055506009600a61015c919061037b565b62124f8061016a91906103c5565b60048190555061017e61020360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6101da919061037b565b6305f5e1006101e991906103c5565b6040516101f69190610415565b60405180910390a361042e565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561028c578086048111156102685761026761020a565b5b60018516156102775780820291505b808102905061028585610237565b945061024c565b94509492505050565b5f826102a4576001905061035f565b816102b1575f905061035f565b81600181146102c757600281146102d157610300565b600191505061035f565b60ff8411156102e3576102e261020a565b5b8360020a9150848211156102fa576102f961020a565b5b5061035f565b5060208310610133831016604e8410600b84101617156103355782820a9050838111156103305761032f61020a565b5b61035f565b6103428484846001610243565b925090508184048111156103595761035861020a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61038582610366565b91506103908361036f565b92506103bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610295565b905092915050565b5f6103cf82610366565b91506103da83610366565b92508282026103e881610366565b915082820484148315176103ff576103fe61020a565b5b5092915050565b61040f81610366565b82525050565b5f6020820190506104285f830184610406565b92915050565b612dff8061043b5f395ff3fe6080604052600436106102cc575f3560e01c80637d1db4a511610174578063af504def116100db578063d98dc35611610094578063de757cf61161006e578063de757cf614610a51578063f60688eb14610a79578063f908dbd114610aa1578063fcccebce14610ac9576102d3565b8063d98dc356146109c3578063dd62ed3e146109eb578063dde415fa14610a27576102d3565b8063af504def146108cf578063b42dfa0d146108f9578063b9ce16f814610923578063c29af7721461094b578063c500523c14610973578063cd44d83d1461099b576102d3565b80638f9a55c01161012d5780638f9a55c0146107c55780638fdada4a146107ef57806395d89b41146108195780639c8e069414610843578063a9059cbb1461086b578063ae3b2b65146108a7576102d3565b80637d1db4a5146106d157806383ba06ae146106fb5780638947ec54146107235780638a6423851461074b5780638b1d6943146107735780638da5cb5b1461079b576102d3565b8063313ce567116102335780635821927f116101ec5780636d8b0527116101c65780636d8b05271461062d57806370a0823114610657578063715018a61461069357806373397eaf146106a9576102d3565b80635821927f146105c75780635925e15b146105ef578063664c587d14610605576102d3565b8063313ce567146104d5578063412a61ad146104ff578063450efe211461052757806345de4e5f1461054f5780634807713f14610577578063498420901461059f576102d3565b806318160ddd1161028557806318160ddd146103df57806320aa3b211461040957806320ea6ad61461043157806323b872dd14610459578063293230b8146104955780632d12d34b146104ab576102d3565b80630568e65e146102d757806306fdde0314610313578063095ea7b31461033d57806311f3ac181461037957806314c42d73146103a157806314f6c3be146103c9576102d3565b366102d357005b5f5ffd5b3480156102e2575f5ffd5b506102fd60048036038101906102f89190612170565b610af1565b60405161030a91906121b3565b60405180910390f35b34801561031e575f5ffd5b50610327610b06565b604051610334919061223c565b60405180910390f35b348015610348575f5ffd5b50610363600480360381019061035e9190612286565b610b43565b60405161037091906122de565b60405180910390f35b348015610384575f5ffd5b5061039f600480360381019061039a91906122f7565b610b60565b005b3480156103ac575f5ffd5b506103c760048036038101906103c291906122f7565b610b6a565b005b3480156103d4575f5ffd5b506103dd610b74565b005b3480156103ea575f5ffd5b506103f3610c56565b60405161040091906121b3565b60405180910390f35b348015610414575f5ffd5b5061042f600480360381019061042a91906122f7565b610c79565b005b34801561043c575f5ffd5b50610457600480360381019061045291906122f7565b610c83565b005b348015610464575f5ffd5b5061047f600480360381019061047a9190612322565b610c8d565b60405161048c91906122de565b60405180910390f35b3480156104a0575f5ffd5b506104a9610d61565b005b3480156104b6575f5ffd5b506104bf611269565b6040516104cc91906121b3565b60405180910390f35b3480156104e0575f5ffd5b506104e961126e565b6040516104f6919061238d565b60405180910390f35b34801561050a575f5ffd5b50610525600480360381019061052091906122f7565b611276565b005b348015610532575f5ffd5b5061054d60048036038101906105489190612170565b611280565b005b34801561055a575f5ffd5b50610575600480360381019061057091906122f7565b611459565b005b348015610582575f5ffd5b5061059d600480360381019061059891906122f7565b611463565b005b3480156105aa575f5ffd5b506105c560048036038101906105c091906122f7565b61146d565b005b3480156105d2575f5ffd5b506105ed60048036038101906105e891906122f7565b611477565b005b3480156105fa575f5ffd5b50610603611481565b005b348015610610575f5ffd5b5061062b600480360381019061062691906122f7565b6115b1565b005b348015610638575f5ffd5b506106416115bb565b60405161064e91906121b3565b60405180910390f35b348015610662575f5ffd5b5061067d60048036038101906106789190612170565b6115c4565b60405161068a91906121b3565b60405180910390f35b34801561069e575f5ffd5b506106a761160a565b005b3480156106b4575f5ffd5b506106cf60048036038101906106ca91906122f7565b61175a565b005b3480156106dc575f5ffd5b506106e5611764565b6040516106f291906121b3565b60405180910390f35b348015610706575f5ffd5b50610721600480360381019061071c91906122f7565b61176a565b005b34801561072e575f5ffd5b50610749600480360381019061074491906122f7565b611774565b005b348015610756575f5ffd5b50610771600480360381019061076c91906122f7565b61177e565b005b34801561077e575f5ffd5b50610799600480360381019061079491906122f7565b611788565b005b3480156107a6575f5ffd5b506107af611792565b6040516107bc91906123b5565b60405180910390f35b3480156107d0575f5ffd5b506107d96117b9565b6040516107e691906121b3565b60405180910390f35b3480156107fa575f5ffd5b506108036117bf565b60405161081091906121b3565b60405180910390f35b348015610824575f5ffd5b5061082d6117c5565b60405161083a919061223c565b60405180910390f35b34801561084e575f5ffd5b50610869600480360381019061086491906122f7565b611802565b005b348015610876575f5ffd5b50610891600480360381019061088c9190612286565b61180c565b60405161089e91906122de565b60405180910390f35b3480156108b2575f5ffd5b506108cd60048036038101906108c891906122f7565b611829565b005b3480156108da575f5ffd5b506108e3611833565b6040516108f091906121b3565b60405180910390f35b348015610904575f5ffd5b5061090d611839565b60405161091a91906121b3565b60405180910390f35b34801561092e575f5ffd5b50610949600480360381019061094491906122f7565b61183f565b005b348015610956575f5ffd5b50610971600480360381019061096c91906122f7565b611849565b005b34801561097e575f5ffd5b50610999600480360381019061099491906122f7565b611853565b005b3480156109a6575f5ffd5b506109c160048036038101906109bc91906122f7565b61185d565b005b3480156109ce575f5ffd5b506109e960048036038101906109e491906122f7565b611867565b005b3480156109f6575f5ffd5b50610a116004803603810190610a0c91906123ce565b611871565b604051610a1e91906121b3565b60405180910390f35b348015610a32575f5ffd5b50610a3b6118f3565b604051610a4891906121b3565b60405180910390f35b348015610a5c575f5ffd5b50610a776004803603810190610a7291906122f7565b6118f9565b005b348015610a84575f5ffd5b50610a9f6004803603810190610a9a91906122f7565b611903565b005b348015610aac575f5ffd5b50610ac76004803603810190610ac291906122f7565b61190d565b005b348015610ad4575f5ffd5b50610aef6004803603810190610aea91906122f7565b611917565b005b6006602052805f5260405f205f915090505481565b60606040518060400160405280600881526020017f436861696e203639000000000000000000000000000000000000000000000000815250905090565b5f610b56610b4f611921565b8484611928565b6001905092915050565b8060178190555050565b8060198190555050565b610b7c611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090612456565b60405180910390fd5b610c11611792565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c53573d5f5f3e3d5ffd5b50565b5f6009600a610c6591906125d0565b6305f5e100610c74919061261a565b905090565b8060138190555050565b8060158190555050565b5f610c99848484611aeb565b610d5684610ca5611921565b610d5185604051806060016040528060288152602001612da26028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610d08611921565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461200a9092919063ffffffff16565b611928565b600190509392505050565b610d69611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90612456565b60405180910390fd5b600a60149054906101000a900460ff1615610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d906126a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ee23060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ece91906125d0565b6305f5e100610edd919061261a565b611928565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7091906126d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101a91906126d7565b6040518363ffffffff1660e01b8152600401611037929190612702565b6020604051808303815f875af1158015611053573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906126d7565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110fe306115c4565b5f5f611108611792565b426040518863ffffffff1660e01b815260040161112a9695949392919061276b565b60606040518083038185885af1158015611146573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061116b91906127de565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161120b92919061282e565b6020604051808303815f875af1158015611227573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124b919061287f565b506001600a60146101000a81548160ff021916908315150217905550565b600181565b5f6009905090565b80600c8190555050565b611288611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612456565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161134f91906123b5565b602060405180830381865afa15801561136a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138e91906128aa565b90505f81116113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c99061291f565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6113f6611792565b836040518363ffffffff1660e01b815260040161141492919061282e565b6020604051808303815f875af1158015611430573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611454919061287f565b505050565b80601b8190555050565b80601e8190555050565b8060188190555050565b8060218190555050565b611489611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612456565b60405180910390fd5b6009600a61152491906125d0565b6305f5e100611533919061261a565b6003819055506009600a61154791906125d0565b6305f5e100611556919061261a565b6004819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61158b91906125d0565b6305f5e10061159a919061261a565b6040516115a791906121b3565b60405180910390a1565b8060238190555050565b5f600354905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611612611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612456565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b80601f8190555050565b60035481565b8060108190555050565b8060168190555050565b80600d8190555050565b8060148190555050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045481565b6103e881565b60606040518060400160405280600381526020017f4336390000000000000000000000000000000000000000000000000000000000815250905090565b80600f8190555050565b5f61181f611818611921565b8484611aeb565b6001905092915050565b8060228190555050565b60075481565b60055481565b80600b8190555050565b8060118190555050565b80600e8190555050565b80601c8190555050565b8060248190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6103e881565b8060208190555050565b80601a8190555050565b8060128190555050565b80601d8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198d906129ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fb90612a3b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ade91906121b3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5090612ac9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbe90612b57565b60405180910390fd5b5f8111611c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0090612be5565b60405180910390fd5b611c11611792565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c7f5750611c4f611792565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611e7e57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d2d575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611dd057600354811115611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90612c4d565b60405180910390fd5b60045481611d84846115c4565b611d8e9190612c6b565b1115611dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc690612ce8565b60405180910390fd5b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e7d5760045481611e31846115c4565b611e3b9190612c6b565b1115611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390612ce8565b60405180910390fd5b5b5b611ece8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461206c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f5f8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120b590919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ffd91906121b3565b60405180910390a3505050565b5f838311158290612051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612048919061223c565b60405180910390fd5b505f838561205f9190612d06565b9050809150509392505050565b5f6120ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061200a565b905092915050565b5f5f82846120c39190612c6b565b905083811015612108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ff90612d83565b60405180910390fd5b8091505092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61213f82612116565b9050919050565b61214f81612135565b8114612159575f5ffd5b50565b5f8135905061216a81612146565b92915050565b5f6020828403121561218557612184612112565b5b5f6121928482850161215c565b91505092915050565b5f819050919050565b6121ad8161219b565b82525050565b5f6020820190506121c65f8301846121a4565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61220e826121cc565b61221881856121d6565b93506122288185602086016121e6565b612231816121f4565b840191505092915050565b5f6020820190508181035f8301526122548184612204565b905092915050565b6122658161219b565b811461226f575f5ffd5b50565b5f813590506122808161225c565b92915050565b5f5f6040838503121561229c5761229b612112565b5b5f6122a98582860161215c565b92505060206122ba85828601612272565b9150509250929050565b5f8115159050919050565b6122d8816122c4565b82525050565b5f6020820190506122f15f8301846122cf565b92915050565b5f6020828403121561230c5761230b612112565b5b5f61231984828501612272565b91505092915050565b5f5f5f6060848603121561233957612338612112565b5b5f6123468682870161215c565b93505060206123578682870161215c565b925050604061236886828701612272565b9150509250925092565b5f60ff82169050919050565b61238781612372565b82525050565b5f6020820190506123a05f83018461237e565b92915050565b6123af81612135565b82525050565b5f6020820190506123c85f8301846123a6565b92915050565b5f5f604083850312156123e4576123e3612112565b5b5f6123f18582860161215c565b92505060206124028582860161215c565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124406020836121d6565b915061244b8261240c565b602082019050919050565b5f6020820190508181035f83015261246d81612434565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156124f6578086048111156124d2576124d1612474565b5b60018516156124e15780820291505b80810290506124ef856124a1565b94506124b6565b94509492505050565b5f8261250e57600190506125c9565b8161251b575f90506125c9565b8160018114612531576002811461253b5761256a565b60019150506125c9565b60ff84111561254d5761254c612474565b5b8360020a91508482111561256457612563612474565b5b506125c9565b5060208310610133831016604e8410600b841016171561259f5782820a90508381111561259a57612599612474565b5b6125c9565b6125ac84848460016124ad565b925090508184048111156125c3576125c2612474565b5b81810290505b9392505050565b5f6125da8261219b565b91506125e583612372565b92506126127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124ff565b905092915050565b5f6126248261219b565b915061262f8361219b565b925082820261263d8161219b565b9150828204841483151761265457612653612474565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61268f6017836121d6565b915061269a8261265b565b602082019050919050565b5f6020820190508181035f8301526126bc81612683565b9050919050565b5f815190506126d181612146565b92915050565b5f602082840312156126ec576126eb612112565b5b5f6126f9848285016126c3565b91505092915050565b5f6040820190506127155f8301856123a6565b61272260208301846123a6565b9392505050565b5f819050919050565b5f819050919050565b5f61275561275061274b84612729565b612732565b61219b565b9050919050565b6127658161273b565b82525050565b5f60c08201905061277e5f8301896123a6565b61278b60208301886121a4565b612798604083018761275c565b6127a5606083018661275c565b6127b260808301856123a6565b6127bf60a08301846121a4565b979650505050505050565b5f815190506127d88161225c565b92915050565b5f5f5f606084860312156127f5576127f4612112565b5b5f612802868287016127ca565b9350506020612813868287016127ca565b9250506040612824868287016127ca565b9150509250925092565b5f6040820190506128415f8301856123a6565b61284e60208301846121a4565b9392505050565b61285e816122c4565b8114612868575f5ffd5b50565b5f8151905061287981612855565b92915050565b5f6020828403121561289457612893612112565b5b5f6128a18482850161286b565b91505092915050565b5f602082840312156128bf576128be612112565b5b5f6128cc848285016127ca565b91505092915050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f6129096015836121d6565b9150612914826128d5565b602082019050919050565b5f6020820190508181035f830152612936816128fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129976024836121d6565b91506129a28261293d565b604082019050919050565b5f6020820190508181035f8301526129c48161298b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a256022836121d6565b9150612a30826129cb565b604082019050919050565b5f6020820190508181035f830152612a5281612a19565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ab36025836121d6565b9150612abe82612a59565b604082019050919050565b5f6020820190508181035f830152612ae081612aa7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b416023836121d6565b9150612b4c82612ae7565b604082019050919050565b5f6020820190508181035f830152612b6e81612b35565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bcf6029836121d6565b9150612bda82612b75565b604082019050919050565b5f6020820190508181035f830152612bfc81612bc3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612c376019836121d6565b9150612c4282612c03565b602082019050919050565b5f6020820190508181035f830152612c6481612c2b565b9050919050565b5f612c758261219b565b9150612c808361219b565b9250828201905080821115612c9857612c97612474565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cd2601a836121d6565b9150612cdd82612c9e565b602082019050919050565b5f6020820190508181035f830152612cff81612cc6565b9050919050565b5f612d108261219b565b9150612d1b8361219b565b9250828203905081811115612d3357612d32612474565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d6d601b836121d6565b9150612d7882612d39565b602082019050919050565b5f6020820190508181035f830152612d9a81612d61565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037fc2fcd077fe789f6949a8c750f99c58e0cf220737f68ac6b66aa96076eb8d064736f6c634300081b0033

Deployed Bytecode

0x6080604052600436106102cc575f3560e01c80637d1db4a511610174578063af504def116100db578063d98dc35611610094578063de757cf61161006e578063de757cf614610a51578063f60688eb14610a79578063f908dbd114610aa1578063fcccebce14610ac9576102d3565b8063d98dc356146109c3578063dd62ed3e146109eb578063dde415fa14610a27576102d3565b8063af504def146108cf578063b42dfa0d146108f9578063b9ce16f814610923578063c29af7721461094b578063c500523c14610973578063cd44d83d1461099b576102d3565b80638f9a55c01161012d5780638f9a55c0146107c55780638fdada4a146107ef57806395d89b41146108195780639c8e069414610843578063a9059cbb1461086b578063ae3b2b65146108a7576102d3565b80637d1db4a5146106d157806383ba06ae146106fb5780638947ec54146107235780638a6423851461074b5780638b1d6943146107735780638da5cb5b1461079b576102d3565b8063313ce567116102335780635821927f116101ec5780636d8b0527116101c65780636d8b05271461062d57806370a0823114610657578063715018a61461069357806373397eaf146106a9576102d3565b80635821927f146105c75780635925e15b146105ef578063664c587d14610605576102d3565b8063313ce567146104d5578063412a61ad146104ff578063450efe211461052757806345de4e5f1461054f5780634807713f14610577578063498420901461059f576102d3565b806318160ddd1161028557806318160ddd146103df57806320aa3b211461040957806320ea6ad61461043157806323b872dd14610459578063293230b8146104955780632d12d34b146104ab576102d3565b80630568e65e146102d757806306fdde0314610313578063095ea7b31461033d57806311f3ac181461037957806314c42d73146103a157806314f6c3be146103c9576102d3565b366102d357005b5f5ffd5b3480156102e2575f5ffd5b506102fd60048036038101906102f89190612170565b610af1565b60405161030a91906121b3565b60405180910390f35b34801561031e575f5ffd5b50610327610b06565b604051610334919061223c565b60405180910390f35b348015610348575f5ffd5b50610363600480360381019061035e9190612286565b610b43565b60405161037091906122de565b60405180910390f35b348015610384575f5ffd5b5061039f600480360381019061039a91906122f7565b610b60565b005b3480156103ac575f5ffd5b506103c760048036038101906103c291906122f7565b610b6a565b005b3480156103d4575f5ffd5b506103dd610b74565b005b3480156103ea575f5ffd5b506103f3610c56565b60405161040091906121b3565b60405180910390f35b348015610414575f5ffd5b5061042f600480360381019061042a91906122f7565b610c79565b005b34801561043c575f5ffd5b50610457600480360381019061045291906122f7565b610c83565b005b348015610464575f5ffd5b5061047f600480360381019061047a9190612322565b610c8d565b60405161048c91906122de565b60405180910390f35b3480156104a0575f5ffd5b506104a9610d61565b005b3480156104b6575f5ffd5b506104bf611269565b6040516104cc91906121b3565b60405180910390f35b3480156104e0575f5ffd5b506104e961126e565b6040516104f6919061238d565b60405180910390f35b34801561050a575f5ffd5b50610525600480360381019061052091906122f7565b611276565b005b348015610532575f5ffd5b5061054d60048036038101906105489190612170565b611280565b005b34801561055a575f5ffd5b50610575600480360381019061057091906122f7565b611459565b005b348015610582575f5ffd5b5061059d600480360381019061059891906122f7565b611463565b005b3480156105aa575f5ffd5b506105c560048036038101906105c091906122f7565b61146d565b005b3480156105d2575f5ffd5b506105ed60048036038101906105e891906122f7565b611477565b005b3480156105fa575f5ffd5b50610603611481565b005b348015610610575f5ffd5b5061062b600480360381019061062691906122f7565b6115b1565b005b348015610638575f5ffd5b506106416115bb565b60405161064e91906121b3565b60405180910390f35b348015610662575f5ffd5b5061067d60048036038101906106789190612170565b6115c4565b60405161068a91906121b3565b60405180910390f35b34801561069e575f5ffd5b506106a761160a565b005b3480156106b4575f5ffd5b506106cf60048036038101906106ca91906122f7565b61175a565b005b3480156106dc575f5ffd5b506106e5611764565b6040516106f291906121b3565b60405180910390f35b348015610706575f5ffd5b50610721600480360381019061071c91906122f7565b61176a565b005b34801561072e575f5ffd5b50610749600480360381019061074491906122f7565b611774565b005b348015610756575f5ffd5b50610771600480360381019061076c91906122f7565b61177e565b005b34801561077e575f5ffd5b50610799600480360381019061079491906122f7565b611788565b005b3480156107a6575f5ffd5b506107af611792565b6040516107bc91906123b5565b60405180910390f35b3480156107d0575f5ffd5b506107d96117b9565b6040516107e691906121b3565b60405180910390f35b3480156107fa575f5ffd5b506108036117bf565b60405161081091906121b3565b60405180910390f35b348015610824575f5ffd5b5061082d6117c5565b60405161083a919061223c565b60405180910390f35b34801561084e575f5ffd5b50610869600480360381019061086491906122f7565b611802565b005b348015610876575f5ffd5b50610891600480360381019061088c9190612286565b61180c565b60405161089e91906122de565b60405180910390f35b3480156108b2575f5ffd5b506108cd60048036038101906108c891906122f7565b611829565b005b3480156108da575f5ffd5b506108e3611833565b6040516108f091906121b3565b60405180910390f35b348015610904575f5ffd5b5061090d611839565b60405161091a91906121b3565b60405180910390f35b34801561092e575f5ffd5b50610949600480360381019061094491906122f7565b61183f565b005b348015610956575f5ffd5b50610971600480360381019061096c91906122f7565b611849565b005b34801561097e575f5ffd5b50610999600480360381019061099491906122f7565b611853565b005b3480156109a6575f5ffd5b506109c160048036038101906109bc91906122f7565b61185d565b005b3480156109ce575f5ffd5b506109e960048036038101906109e491906122f7565b611867565b005b3480156109f6575f5ffd5b50610a116004803603810190610a0c91906123ce565b611871565b604051610a1e91906121b3565b60405180910390f35b348015610a32575f5ffd5b50610a3b6118f3565b604051610a4891906121b3565b60405180910390f35b348015610a5c575f5ffd5b50610a776004803603810190610a7291906122f7565b6118f9565b005b348015610a84575f5ffd5b50610a9f6004803603810190610a9a91906122f7565b611903565b005b348015610aac575f5ffd5b50610ac76004803603810190610ac291906122f7565b61190d565b005b348015610ad4575f5ffd5b50610aef6004803603810190610aea91906122f7565b611917565b005b6006602052805f5260405f205f915090505481565b60606040518060400160405280600881526020017f436861696e203639000000000000000000000000000000000000000000000000815250905090565b5f610b56610b4f611921565b8484611928565b6001905092915050565b8060178190555050565b8060198190555050565b610b7c611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090612456565b60405180910390fd5b610c11611792565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c53573d5f5f3e3d5ffd5b50565b5f6009600a610c6591906125d0565b6305f5e100610c74919061261a565b905090565b8060138190555050565b8060158190555050565b5f610c99848484611aeb565b610d5684610ca5611921565b610d5185604051806060016040528060288152602001612da26028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610d08611921565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461200a9092919063ffffffff16565b611928565b600190509392505050565b610d69611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90612456565b60405180910390fd5b600a60149054906101000a900460ff1615610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d906126a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ee23060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ece91906125d0565b6305f5e100610edd919061261a565b611928565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7091906126d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101a91906126d7565b6040518363ffffffff1660e01b8152600401611037929190612702565b6020604051808303815f875af1158015611053573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906126d7565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110fe306115c4565b5f5f611108611792565b426040518863ffffffff1660e01b815260040161112a9695949392919061276b565b60606040518083038185885af1158015611146573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061116b91906127de565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161120b92919061282e565b6020604051808303815f875af1158015611227573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124b919061287f565b506001600a60146101000a81548160ff021916908315150217905550565b600181565b5f6009905090565b80600c8190555050565b611288611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612456565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161134f91906123b5565b602060405180830381865afa15801561136a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138e91906128aa565b90505f81116113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c99061291f565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6113f6611792565b836040518363ffffffff1660e01b815260040161141492919061282e565b6020604051808303815f875af1158015611430573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611454919061287f565b505050565b80601b8190555050565b80601e8190555050565b8060188190555050565b8060218190555050565b611489611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612456565b60405180910390fd5b6009600a61152491906125d0565b6305f5e100611533919061261a565b6003819055506009600a61154791906125d0565b6305f5e100611556919061261a565b6004819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61158b91906125d0565b6305f5e10061159a919061261a565b6040516115a791906121b3565b60405180910390a1565b8060238190555050565b5f600354905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611612611921565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612456565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b80601f8190555050565b60035481565b8060108190555050565b8060168190555050565b80600d8190555050565b8060148190555050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045481565b6103e881565b60606040518060400160405280600381526020017f4336390000000000000000000000000000000000000000000000000000000000815250905090565b80600f8190555050565b5f61181f611818611921565b8484611aeb565b6001905092915050565b8060228190555050565b60075481565b60055481565b80600b8190555050565b8060118190555050565b80600e8190555050565b80601c8190555050565b8060248190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6103e881565b8060208190555050565b80601a8190555050565b8060128190555050565b80601d8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198d906129ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fb90612a3b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ade91906121b3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5090612ac9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbe90612b57565b60405180910390fd5b5f8111611c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0090612be5565b60405180910390fd5b611c11611792565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c7f5750611c4f611792565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611e7e57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d2d575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611dd057600354811115611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90612c4d565b60405180910390fd5b60045481611d84846115c4565b611d8e9190612c6b565b1115611dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc690612ce8565b60405180910390fd5b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e7d5760045481611e31846115c4565b611e3b9190612c6b565b1115611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390612ce8565b60405180910390fd5b5b5b611ece8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461206c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f5f8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120b590919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ffd91906121b3565b60405180910390a3505050565b5f838311158290612051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612048919061223c565b60405180910390fd5b505f838561205f9190612d06565b9050809150509392505050565b5f6120ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061200a565b905092915050565b5f5f82846120c39190612c6b565b905083811015612108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ff90612d83565b60405180910390fd5b8091505092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61213f82612116565b9050919050565b61214f81612135565b8114612159575f5ffd5b50565b5f8135905061216a81612146565b92915050565b5f6020828403121561218557612184612112565b5b5f6121928482850161215c565b91505092915050565b5f819050919050565b6121ad8161219b565b82525050565b5f6020820190506121c65f8301846121a4565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61220e826121cc565b61221881856121d6565b93506122288185602086016121e6565b612231816121f4565b840191505092915050565b5f6020820190508181035f8301526122548184612204565b905092915050565b6122658161219b565b811461226f575f5ffd5b50565b5f813590506122808161225c565b92915050565b5f5f6040838503121561229c5761229b612112565b5b5f6122a98582860161215c565b92505060206122ba85828601612272565b9150509250929050565b5f8115159050919050565b6122d8816122c4565b82525050565b5f6020820190506122f15f8301846122cf565b92915050565b5f6020828403121561230c5761230b612112565b5b5f61231984828501612272565b91505092915050565b5f5f5f6060848603121561233957612338612112565b5b5f6123468682870161215c565b93505060206123578682870161215c565b925050604061236886828701612272565b9150509250925092565b5f60ff82169050919050565b61238781612372565b82525050565b5f6020820190506123a05f83018461237e565b92915050565b6123af81612135565b82525050565b5f6020820190506123c85f8301846123a6565b92915050565b5f5f604083850312156123e4576123e3612112565b5b5f6123f18582860161215c565b92505060206124028582860161215c565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124406020836121d6565b915061244b8261240c565b602082019050919050565b5f6020820190508181035f83015261246d81612434565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156124f6578086048111156124d2576124d1612474565b5b60018516156124e15780820291505b80810290506124ef856124a1565b94506124b6565b94509492505050565b5f8261250e57600190506125c9565b8161251b575f90506125c9565b8160018114612531576002811461253b5761256a565b60019150506125c9565b60ff84111561254d5761254c612474565b5b8360020a91508482111561256457612563612474565b5b506125c9565b5060208310610133831016604e8410600b841016171561259f5782820a90508381111561259a57612599612474565b5b6125c9565b6125ac84848460016124ad565b925090508184048111156125c3576125c2612474565b5b81810290505b9392505050565b5f6125da8261219b565b91506125e583612372565b92506126127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124ff565b905092915050565b5f6126248261219b565b915061262f8361219b565b925082820261263d8161219b565b9150828204841483151761265457612653612474565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61268f6017836121d6565b915061269a8261265b565b602082019050919050565b5f6020820190508181035f8301526126bc81612683565b9050919050565b5f815190506126d181612146565b92915050565b5f602082840312156126ec576126eb612112565b5b5f6126f9848285016126c3565b91505092915050565b5f6040820190506127155f8301856123a6565b61272260208301846123a6565b9392505050565b5f819050919050565b5f819050919050565b5f61275561275061274b84612729565b612732565b61219b565b9050919050565b6127658161273b565b82525050565b5f60c08201905061277e5f8301896123a6565b61278b60208301886121a4565b612798604083018761275c565b6127a5606083018661275c565b6127b260808301856123a6565b6127bf60a08301846121a4565b979650505050505050565b5f815190506127d88161225c565b92915050565b5f5f5f606084860312156127f5576127f4612112565b5b5f612802868287016127ca565b9350506020612813868287016127ca565b9250506040612824868287016127ca565b9150509250925092565b5f6040820190506128415f8301856123a6565b61284e60208301846121a4565b9392505050565b61285e816122c4565b8114612868575f5ffd5b50565b5f8151905061287981612855565b92915050565b5f6020828403121561289457612893612112565b5b5f6128a18482850161286b565b91505092915050565b5f602082840312156128bf576128be612112565b5b5f6128cc848285016127ca565b91505092915050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f6129096015836121d6565b9150612914826128d5565b602082019050919050565b5f6020820190508181035f830152612936816128fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129976024836121d6565b91506129a28261293d565b604082019050919050565b5f6020820190508181035f8301526129c48161298b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a256022836121d6565b9150612a30826129cb565b604082019050919050565b5f6020820190508181035f830152612a5281612a19565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ab36025836121d6565b9150612abe82612a59565b604082019050919050565b5f6020820190508181035f830152612ae081612aa7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b416023836121d6565b9150612b4c82612ae7565b604082019050919050565b5f6020820190508181035f830152612b6e81612b35565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bcf6029836121d6565b9150612bda82612b75565b604082019050919050565b5f6020820190508181035f830152612bfc81612bc3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612c376019836121d6565b9150612c4282612c03565b602082019050919050565b5f6020820190508181035f830152612c6481612c2b565b9050919050565b5f612c758261219b565b9150612c808361219b565b9250828201905080821115612c9857612c97612474565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cd2601a836121d6565b9150612cdd82612c9e565b602082019050919050565b5f6020820190508181035f830152612cff81612cc6565b9050919050565b5f612d108261219b565b9150612d1b8361219b565b9250828203905081811115612d3357612d32612474565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d6d601b836121d6565b9150612d7882612d39565b602082019050919050565b5f6020820190508181035f830152612d9a81612d61565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037fc2fcd077fe789f6949a8c750f99c58e0cf220737f68ac6b66aa96076eb8d064736f6c634300081b0033

Deployed Bytecode Sourcemap

5712:8541:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6430:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7508:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8391:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12870:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13053:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10608:104;;;;;;;;;;;;;:::i;:::-;;7785:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12479:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12680;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8585:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10993:650;;;;;;;;;;;;;:::i;:::-;;6256:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7694:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11777:70;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10720:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13278:70;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13535:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12971:74;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13807:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10434:166;;;;;;;;;;;;;:::i;:::-;;14042:70;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9039:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7888:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5557:148;;;;;;;;;;;;;:::i;:::-;;13636:66;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6142:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12189:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12792:70;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11855:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12591:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5343:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6176:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6295:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7599:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12061:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8015:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13913:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6481:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6347:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11652:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12278:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11956:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13356:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8215:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6386:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13710:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13158:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12390:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13457:70;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6430:44;;;;;;;;;;;;;;;;;:::o;7508:83::-;7545:13;7578:5;;;;;;;;;;;;;;;;;7571:12;;7508:83;:::o;8391:186::-;8491:4;8508:39;8517:12;:10;:12::i;:::-;8531:7;8540:6;8508:8;:39::i;:::-;8565:4;8558:11;;8391:186;;;;:::o;12870:93::-;12944:11;12931:10;:24;;;;12870:93;:::o;13053:97::-;13130:12;13116:11;:26;;;;13053:97;:::o;10608:104::-;5480:12;:10;:12::i;:::-;5470:22;;:6;;;;;;;;;;;:22;;;5462:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10664:7:::1;:5;:7::i;:::-;10656:25;;:48;10682:21;10656:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10608:104::o:0;7785:95::-;7838:7;5956:1;6011:2;:15;;;;:::i;:::-;5999:9;:27;;;;:::i;:::-;7858:14;;7785:95;:::o;12479:104::-;12561:14;12545:13;:30;;;;12479:104;:::o;12680:::-;12762:14;12746:13;:30;;;;12680:104;:::o;8585:446::-;8717:4;8734:36;8744:6;8752:9;8763:6;8734:9;:36::i;:::-;8781:220;8804:6;8825:12;:10;:12::i;:::-;8852:138;8908:6;8852:138;;;;;;;;;;;;;;;;;:11;:19;8864:6;8852:19;;;;;;;;;;;;;;;:33;8872:12;:10;:12::i;:::-;8852:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8781:8;:220::i;:::-;9019:4;9012:11;;8585:446;;;;;:::o;10993:650::-;5480:12;:10;:12::i;:::-;5470:22;;:6;;;;;;;;;;;:22;;;5462:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11056:11:::1;;;;;;;;;;;11055:12;11047:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11143:42;11106:15;;:80;;;;;;;;;;;;;;;;;;11197:58;11214:4;11229:15;;;;;;;;;;;5956:1;6011:2;:15;;;;:::i;:::-;5999:9;:27;;;;:::i;:::-;11197:8;:58::i;:::-;11300:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11282:55;;;11346:4;11353:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11282:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11266:13;;:110;;;;;;;;;;;;;;;;;;11387:15;;;;;;;;;;;:31;;;11426:21;11457:4;11464:24;11482:4;11464:9;:24::i;:::-;11490:1;11493;11496:7;:5;:7::i;:::-;11505:15;11387:134;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11539:13;;;;;;;;;;;11532:29;;;11570:15;;;;;;;;;;;11588:17;11532:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11631:4;11617:11;;:18;;;;;;;;;;;;;;;;;;10993:650::o:0;6256:32::-;6287:1;6256:32;:::o;7694:83::-;7735:5;5956:1;7753:16;;7694:83;:::o;11777:70::-;11834:5;11827:4;:12;;;;11777:70;:::o;10720:265::-;5480:12;:10;:12::i;:::-;5470:22;;:6;;;;;;;;;;;:22;;;5462:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10789:20:::1;10819:10;10812:28;;;10849:4;10812:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10789:66;;10889:1;10874:12;:16;10866:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;10934:10;10927:27;;;10955:7;:5;:7::i;:::-;10964:12;10927:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10778:207;10720:265:::0;:::o;13278:70::-;13335:5;13328:4;:12;;;;13278:70;:::o;13535:93::-;13609:11;13596:10;:24;;;;13535:93;:::o;12971:74::-;13031:6;13023:5;:14;;;;12971:74;:::o;13807:98::-;13885:12;13871:11;:26;;;;13807:98;:::o;10434:166::-;5480:12;:10;:12::i;:::-;5470:22;;:6;;;;;;;;;;;:22;;;5462:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5956:1:::1;6011:2;:15;;;;:::i;:::-;5999:9;:27;;;;:::i;:::-;10492:12;:22;;;;5956:1;6011:2;:15;;;;:::i;:::-;5999:9;:27;;;;:::i;:::-;10525:14;:24;;;;10565:27;5956:1;6011:2;:15;;;;:::i;:::-;5999:9;:27;;;;:::i;:::-;10565;;;;;;:::i;:::-;;;;;;;;10434:166::o:0;14042:70::-;14099:5;14092:4;:12;;;;14042:70;:::o;9039:94::-;9086:7;9113:12;;9106:19;;9039:94;:::o;7888:119::-;7954:7;7981:9;:18;7991:7;7981:18;;;;;;;;;;;;;;;;7974:25;;7888:119;;;:::o;5557:148::-;5480:12;:10;:12::i;:::-;5470:22;;:6;;;;;;;;;;;:22;;;5462:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5664:1:::1;5627:40;;5648:6;;;;;;;;;;;5627:40;;;;;;;;;;;;5695:1;5678:6;;:19;;;;;;;;;;;;;;;;;;5557:148::o:0;13636:66::-;13690:4;13684:3;:10;;;;13636:66;:::o;6142:27::-;;;;:::o;12189:81::-;12254:8;12244:7;:18;;;;12189:81;:::o;12792:70::-;12849:5;12842:4;:12;;;;12792:70;:::o;11855:93::-;11929:11;11916:10;:24;;;;11855:93;:::o;12591:81::-;12656:8;12646:7;:18;;;;12591:81;:::o;5343:79::-;5381:7;5408:6;;;;;;;;;;;5401:13;;5343:79;:::o;6176:29::-;;;;:::o;6295:45::-;6245:4;6295:45;:::o;7599:87::-;7638:13;7671:7;;;;;;;;;;;;;;;;;7664:14;;7599:87;:::o;12061:120::-;12155:18;12135:17;:38;;;;12061:120;:::o;8015:192::-;8118:4;8135:42;8145:12;:10;:12::i;:::-;8159:9;8170:6;8135:9;:42::i;:::-;8195:4;8188:11;;8015:192;;;;:::o;13913:121::-;14008:18;13988:17;:38;;;;13913:121;:::o;6481:29::-;;;;:::o;6347:32::-;;;;:::o;11652:117::-;11744:17;11725:16;:36;;;;11652:117;:::o;12278:104::-;12360:14;12344:13;:30;;;;12278:104;:::o;11956:97::-;12033:12;12019:11;:26;;;;11956:97;:::o;13356:93::-;13430:11;13417:10;:24;;;;13356:93;:::o;14120:::-;14194:11;14181:10;:24;;;;14120:93;:::o;8215:168::-;8321:7;8348:11;:18;8360:5;8348:18;;;;;;;;;;;;;;;:27;8367:7;8348:27;;;;;;;;;;;;;;;;8341:34;;8215:168;;;;:::o;6386:37::-;6419:4;6386:37;:::o;13710:89::-;13781:10;13769:9;:22;;;;13710:89;:::o;13158:112::-;13246:16;13228:15;:34;;;;13158:112;:::o;12390:81::-;12455:8;12445:7;:18;;;;12390:81;:::o;13457:70::-;13514:5;13507:4;:12;;;;13457:70;:::o;2156:98::-;2209:7;2236:10;2229:17;;2156:98;:::o;9141:335::-;9251:1;9234:19;;:5;:19;;;9226:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9332:1;9313:21;;:7;:21;;;9305:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9414:6;9384:11;:18;9396:5;9384:18;;;;;;;;;;;;;;;:27;9403:7;9384:27;;;;;;;;;;;;;;;:36;;;;9452:7;9436:32;;9445:5;9436:32;;;9461:6;9436:32;;;;;;:::i;:::-;;;;;;;;9141:335;;;:::o;9484:941::-;9588:1;9572:18;;:4;:18;;;9564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9665:1;9651:16;;:2;:16;;;9643:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9735:1;9726:6;:10;9718:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9805:7;:5;:7::i;:::-;9797:15;;:4;:15;;;;:32;;;;;9822:7;:5;:7::i;:::-;9816:13;;:2;:13;;;;9797:32;9793:473;;;9858:13;;;;;;;;;;;9850:21;;:4;:21;;;:55;;;;;9889:15;;;;;;;;;;;9875:30;;:2;:30;;;;9850:55;9846:254;;;9944:12;;9934:6;:22;;9926:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10039:14;;10029:6;10013:13;10023:2;10013:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10005:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9846:254;10126:13;;;;;;;;;;;10120:19;;:2;:19;;;10116:139;;10194:14;;10184:6;10168:13;10178:2;10168:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10160:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10116:139;9793:473;10296:27;10316:6;10296:9;:15;10306:4;10296:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10278:9;:15;10288:4;10278:15;;;;;;;;;;;;;;;:45;;;;10350:25;10368:6;10350:9;:13;10360:2;10350:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10334:9;:13;10344:2;10334:13;;;;;;;;;;;;;;;:41;;;;10406:2;10391:26;;10400:4;10391:26;;;10410:6;10391:26;;;;;;:::i;:::-;;;;;;;;9484:941;;;:::o;4145:224::-;4265:7;4298:1;4293;:6;;4301:12;4285:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4325:9;4341:1;4337;:5;;;;:::i;:::-;4325:17;;4360:1;4353:8;;;4145:224;;;;;:::o;4001:136::-;4059:7;4086:43;4090:1;4093;4086:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4079:50;;4001:136;;;;:::o;3814:179::-;3872:7;3892:9;3908:1;3904;:5;;;;:::i;:::-;3892:17;;3933:1;3928;:6;;3920:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3984:1;3977:8;;;3814:179;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:99::-;1663:6;1697:5;1691:12;1681:22;;1611:99;;;:::o;1716:169::-;1800:11;1834:6;1829:3;1822:19;1874:4;1869:3;1865:14;1850:29;;1716:169;;;;:::o;1891:139::-;1980:6;1975:3;1970;1964:23;2021:1;2012:6;2007:3;2003:16;1996:27;1891:139;;;:::o;2036:102::-;2077:6;2128:2;2124:7;2119:2;2112:5;2108:14;2104:28;2094:38;;2036:102;;;:::o;2144:377::-;2232:3;2260:39;2293:5;2260:39;:::i;:::-;2315:71;2379:6;2374:3;2315:71;:::i;:::-;2308:78;;2395:65;2453:6;2448:3;2441:4;2434:5;2430:16;2395:65;:::i;:::-;2485:29;2507:6;2485:29;:::i;:::-;2480:3;2476:39;2469:46;;2236:285;2144:377;;;;:::o;2527:313::-;2640:4;2678:2;2667:9;2663:18;2655:26;;2727:9;2721:4;2717:20;2713:1;2702:9;2698:17;2691:47;2755:78;2828:4;2819:6;2755:78;:::i;:::-;2747:86;;2527:313;;;;:::o;2846:122::-;2919:24;2937:5;2919:24;:::i;:::-;2912:5;2909:35;2899:63;;2958:1;2955;2948:12;2899:63;2846:122;:::o;2974:139::-;3020:5;3058:6;3045:20;3036:29;;3074:33;3101:5;3074:33;:::i;:::-;2974:139;;;;:::o;3119:474::-;3187:6;3195;3244:2;3232:9;3223:7;3219:23;3215:32;3212:119;;;3250:79;;:::i;:::-;3212:119;3370:1;3395:53;3440:7;3431:6;3420:9;3416:22;3395:53;:::i;:::-;3385:63;;3341:117;3497:2;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3468:118;3119:474;;;;;:::o;3599:90::-;3633:7;3676:5;3669:13;3662:21;3651:32;;3599:90;;;:::o;3695:109::-;3776:21;3791:5;3776:21;:::i;:::-;3771:3;3764:34;3695:109;;:::o;3810:210::-;3897:4;3935:2;3924:9;3920:18;3912:26;;3948:65;4010:1;3999:9;3995:17;3986:6;3948:65;:::i;:::-;3810:210;;;;:::o;4026:329::-;4085:6;4134:2;4122:9;4113:7;4109:23;4105:32;4102:119;;;4140:79;;:::i;:::-;4102:119;4260:1;4285:53;4330:7;4321:6;4310:9;4306:22;4285:53;:::i;:::-;4275:63;;4231:117;4026:329;;;;:::o;4361:619::-;4438:6;4446;4454;4503:2;4491:9;4482:7;4478:23;4474:32;4471:119;;;4509:79;;:::i;:::-;4471:119;4629:1;4654:53;4699:7;4690:6;4679:9;4675:22;4654:53;:::i;:::-;4644:63;;4600:117;4756:2;4782:53;4827:7;4818:6;4807:9;4803:22;4782:53;:::i;:::-;4772:63;;4727:118;4884:2;4910:53;4955:7;4946:6;4935:9;4931:22;4910:53;:::i;:::-;4900:63;;4855:118;4361:619;;;;;:::o;4986:86::-;5021:7;5061:4;5054:5;5050:16;5039:27;;4986:86;;;:::o;5078:112::-;5161:22;5177:5;5161:22;:::i;:::-;5156:3;5149:35;5078:112;;:::o;5196:214::-;5285:4;5323:2;5312:9;5308:18;5300:26;;5336:67;5400:1;5389:9;5385:17;5376:6;5336:67;:::i;:::-;5196:214;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:182::-;6388:34;6384:1;6376:6;6372:14;6365:58;6248:182;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6436:366;;;:::o;6808:419::-;6974:4;7012:2;7001:9;6997:18;6989:26;;7061:9;7055:4;7051:20;7047:1;7036:9;7032:17;7025:47;7089:131;7215:4;7089:131;:::i;:::-;7081:139;;6808:419;;;:::o;7233:180::-;7281:77;7278:1;7271:88;7378:4;7375:1;7368:15;7402:4;7399:1;7392:15;7419:102;7461:8;7508:5;7505:1;7501:13;7480:34;;7419:102;;;:::o;7527:848::-;7588:5;7595:4;7619:6;7610:15;;7643:5;7634:14;;7657:712;7678:1;7668:8;7665:15;7657:712;;;7773:4;7768:3;7764:14;7758:4;7755:24;7752:50;;;7782:18;;:::i;:::-;7752:50;7832:1;7822:8;7818:16;7815:451;;;8247:4;8240:5;8236:16;8227:25;;7815:451;8297:4;8291;8287:15;8279:23;;8327:32;8350:8;8327:32;:::i;:::-;8315:44;;7657:712;;;7527:848;;;;;;;:::o;8381:1073::-;8435:5;8626:8;8616:40;;8647:1;8638:10;;8649:5;;8616:40;8675:4;8665:36;;8692:1;8683:10;;8694:5;;8665:36;8761:4;8809:1;8804:27;;;;8845:1;8840:191;;;;8754:277;;8804:27;8822:1;8813:10;;8824:5;;;8840:191;8885:3;8875:8;8872:17;8869:43;;;8892:18;;:::i;:::-;8869:43;8941:8;8938:1;8934:16;8925:25;;8976:3;8969:5;8966:14;8963:40;;;8983:18;;:::i;:::-;8963:40;9016:5;;;8754:277;;9140:2;9130:8;9127:16;9121:3;9115:4;9112:13;9108:36;9090:2;9080:8;9077:16;9072:2;9066:4;9063:12;9059:35;9043:111;9040:246;;;9196:8;9190:4;9186:19;9177:28;;9231:3;9224:5;9221:14;9218:40;;;9238:18;;:::i;:::-;9218:40;9271:5;;9040:246;9311:42;9349:3;9339:8;9333:4;9330:1;9311:42;:::i;:::-;9296:57;;;;9385:4;9380:3;9376:14;9369:5;9366:25;9363:51;;;9394:18;;:::i;:::-;9363:51;9443:4;9436:5;9432:16;9423:25;;8381:1073;;;;;;:::o;9460:281::-;9518:5;9542:23;9560:4;9542:23;:::i;:::-;9534:31;;9586:25;9602:8;9586:25;:::i;:::-;9574:37;;9630:104;9667:66;9657:8;9651:4;9630:104;:::i;:::-;9621:113;;9460:281;;;;:::o;9747:410::-;9787:7;9810:20;9828:1;9810:20;:::i;:::-;9805:25;;9844:20;9862:1;9844:20;:::i;:::-;9839:25;;9899:1;9896;9892:9;9921:30;9939:11;9921:30;:::i;:::-;9910:41;;10100:1;10091:7;10087:15;10084:1;10081:22;10061:1;10054:9;10034:83;10011:139;;10130:18;;:::i;:::-;10011:139;9795:362;9747:410;;;;:::o;10163:173::-;10303:25;10299:1;10291:6;10287:14;10280:49;10163:173;:::o;10342:366::-;10484:3;10505:67;10569:2;10564:3;10505:67;:::i;:::-;10498:74;;10581:93;10670:3;10581:93;:::i;:::-;10699:2;10694:3;10690:12;10683:19;;10342:366;;;:::o;10714:419::-;10880:4;10918:2;10907:9;10903:18;10895:26;;10967:9;10961:4;10957:20;10953:1;10942:9;10938:17;10931:47;10995:131;11121:4;10995:131;:::i;:::-;10987:139;;10714:419;;;:::o;11139:143::-;11196:5;11227:6;11221:13;11212:22;;11243:33;11270:5;11243:33;:::i;:::-;11139:143;;;;:::o;11288:351::-;11358:6;11407:2;11395:9;11386:7;11382:23;11378:32;11375:119;;;11413:79;;:::i;:::-;11375:119;11533:1;11558:64;11614:7;11605:6;11594:9;11590:22;11558:64;:::i;:::-;11548:74;;11504:128;11288:351;;;;:::o;11645:332::-;11766:4;11804:2;11793:9;11789:18;11781:26;;11817:71;11885:1;11874:9;11870:17;11861:6;11817:71;:::i;:::-;11898:72;11966:2;11955:9;11951:18;11942:6;11898:72;:::i;:::-;11645:332;;;;;:::o;11983:85::-;12028:7;12057:5;12046:16;;11983:85;;;:::o;12074:60::-;12102:3;12123:5;12116:12;;12074:60;;;:::o;12140:158::-;12198:9;12231:61;12249:42;12258:32;12284:5;12258:32;:::i;:::-;12249:42;:::i;:::-;12231:61;:::i;:::-;12218:74;;12140:158;;;:::o;12304:147::-;12399:45;12438:5;12399:45;:::i;:::-;12394:3;12387:58;12304:147;;:::o;12457:807::-;12706:4;12744:3;12733:9;12729:19;12721:27;;12758:71;12826:1;12815:9;12811:17;12802:6;12758:71;:::i;:::-;12839:72;12907:2;12896:9;12892:18;12883:6;12839:72;:::i;:::-;12921:80;12997:2;12986:9;12982:18;12973:6;12921:80;:::i;:::-;13011;13087:2;13076:9;13072:18;13063:6;13011:80;:::i;:::-;13101:73;13169:3;13158:9;13154:19;13145:6;13101:73;:::i;:::-;13184;13252:3;13241:9;13237:19;13228:6;13184:73;:::i;:::-;12457:807;;;;;;;;;:::o;13270:143::-;13327:5;13358:6;13352:13;13343:22;;13374:33;13401:5;13374:33;:::i;:::-;13270:143;;;;:::o;13419:663::-;13507:6;13515;13523;13572:2;13560:9;13551:7;13547:23;13543:32;13540:119;;;13578:79;;:::i;:::-;13540:119;13698:1;13723:64;13779:7;13770:6;13759:9;13755:22;13723:64;:::i;:::-;13713:74;;13669:128;13836:2;13862:64;13918:7;13909:6;13898:9;13894:22;13862:64;:::i;:::-;13852:74;;13807:129;13975:2;14001:64;14057:7;14048:6;14037:9;14033:22;14001:64;:::i;:::-;13991:74;;13946:129;13419:663;;;;;:::o;14088:332::-;14209:4;14247:2;14236:9;14232:18;14224:26;;14260:71;14328:1;14317:9;14313:17;14304:6;14260:71;:::i;:::-;14341:72;14409:2;14398:9;14394:18;14385:6;14341:72;:::i;:::-;14088:332;;;;;:::o;14426:116::-;14496:21;14511:5;14496:21;:::i;:::-;14489:5;14486:32;14476:60;;14532:1;14529;14522:12;14476:60;14426:116;:::o;14548:137::-;14602:5;14633:6;14627:13;14618:22;;14649:30;14673:5;14649:30;:::i;:::-;14548:137;;;;:::o;14691:345::-;14758:6;14807:2;14795:9;14786:7;14782:23;14778:32;14775:119;;;14813:79;;:::i;:::-;14775:119;14933:1;14958:61;15011:7;15002:6;14991:9;14987:22;14958:61;:::i;:::-;14948:71;;14904:125;14691:345;;;;:::o;15042:351::-;15112:6;15161:2;15149:9;15140:7;15136:23;15132:32;15129:119;;;15167:79;;:::i;:::-;15129:119;15287:1;15312:64;15368:7;15359:6;15348:9;15344:22;15312:64;:::i;:::-;15302:74;;15258:128;15042:351;;;;:::o;15399:171::-;15539:23;15535:1;15527:6;15523:14;15516:47;15399:171;:::o;15576:366::-;15718:3;15739:67;15803:2;15798:3;15739:67;:::i;:::-;15732:74;;15815:93;15904:3;15815:93;:::i;:::-;15933:2;15928:3;15924:12;15917:19;;15576:366;;;:::o;15948:419::-;16114:4;16152:2;16141:9;16137:18;16129:26;;16201:9;16195:4;16191:20;16187:1;16176:9;16172:17;16165:47;16229:131;16355:4;16229:131;:::i;:::-;16221:139;;15948:419;;;:::o;16373:223::-;16513:34;16509:1;16501:6;16497:14;16490:58;16582:6;16577:2;16569:6;16565:15;16558:31;16373:223;:::o;16602:366::-;16744:3;16765:67;16829:2;16824:3;16765:67;:::i;:::-;16758:74;;16841:93;16930:3;16841:93;:::i;:::-;16959:2;16954:3;16950:12;16943:19;;16602:366;;;:::o;16974:419::-;17140:4;17178:2;17167:9;17163:18;17155:26;;17227:9;17221:4;17217:20;17213:1;17202:9;17198:17;17191:47;17255:131;17381:4;17255:131;:::i;:::-;17247:139;;16974:419;;;:::o;17399:221::-;17539:34;17535:1;17527:6;17523:14;17516:58;17608:4;17603:2;17595:6;17591:15;17584:29;17399:221;:::o;17626:366::-;17768:3;17789:67;17853:2;17848:3;17789:67;:::i;:::-;17782:74;;17865:93;17954:3;17865:93;:::i;:::-;17983:2;17978:3;17974:12;17967:19;;17626:366;;;:::o;17998:419::-;18164:4;18202:2;18191:9;18187:18;18179:26;;18251:9;18245:4;18241:20;18237:1;18226:9;18222:17;18215:47;18279:131;18405:4;18279:131;:::i;:::-;18271:139;;17998:419;;;:::o;18423:224::-;18563:34;18559:1;18551:6;18547:14;18540:58;18632:7;18627:2;18619:6;18615:15;18608:32;18423:224;:::o;18653:366::-;18795:3;18816:67;18880:2;18875:3;18816:67;:::i;:::-;18809:74;;18892:93;18981:3;18892:93;:::i;:::-;19010:2;19005:3;19001:12;18994:19;;18653:366;;;:::o;19025:419::-;19191:4;19229:2;19218:9;19214:18;19206:26;;19278:9;19272:4;19268:20;19264:1;19253:9;19249:17;19242:47;19306:131;19432:4;19306:131;:::i;:::-;19298:139;;19025:419;;;:::o;19450:222::-;19590:34;19586:1;19578:6;19574:14;19567:58;19659:5;19654:2;19646:6;19642:15;19635:30;19450:222;:::o;19678:366::-;19820:3;19841:67;19905:2;19900:3;19841:67;:::i;:::-;19834:74;;19917:93;20006:3;19917:93;:::i;:::-;20035:2;20030:3;20026:12;20019:19;;19678:366;;;:::o;20050:419::-;20216:4;20254:2;20243:9;20239:18;20231:26;;20303:9;20297:4;20293:20;20289:1;20278:9;20274:17;20267:47;20331:131;20457:4;20331:131;:::i;:::-;20323:139;;20050:419;;;:::o;20475:228::-;20615:34;20611:1;20603:6;20599:14;20592:58;20684:11;20679:2;20671:6;20667:15;20660:36;20475:228;:::o;20709:366::-;20851:3;20872:67;20936:2;20931:3;20872:67;:::i;:::-;20865:74;;20948:93;21037:3;20948:93;:::i;:::-;21066:2;21061:3;21057:12;21050:19;;20709:366;;;:::o;21081:419::-;21247:4;21285:2;21274:9;21270:18;21262:26;;21334:9;21328:4;21324:20;21320:1;21309:9;21305:17;21298:47;21362:131;21488:4;21362:131;:::i;:::-;21354:139;;21081:419;;;:::o;21506:175::-;21646:27;21642:1;21634:6;21630:14;21623:51;21506:175;:::o;21687:366::-;21829:3;21850:67;21914:2;21909:3;21850:67;:::i;:::-;21843:74;;21926:93;22015:3;21926:93;:::i;:::-;22044:2;22039:3;22035:12;22028:19;;21687:366;;;:::o;22059:419::-;22225:4;22263:2;22252:9;22248:18;22240:26;;22312:9;22306:4;22302:20;22298:1;22287:9;22283:17;22276:47;22340:131;22466:4;22340:131;:::i;:::-;22332:139;;22059:419;;;:::o;22484:191::-;22524:3;22543:20;22561:1;22543:20;:::i;:::-;22538:25;;22577:20;22595:1;22577:20;:::i;:::-;22572:25;;22620:1;22617;22613:9;22606:16;;22641:3;22638:1;22635:10;22632:36;;;22648:18;;:::i;:::-;22632:36;22484:191;;;;:::o;22681:176::-;22821:28;22817:1;22809:6;22805:14;22798:52;22681:176;:::o;22863:366::-;23005:3;23026:67;23090:2;23085:3;23026:67;:::i;:::-;23019:74;;23102:93;23191:3;23102:93;:::i;:::-;23220:2;23215:3;23211:12;23204:19;;22863:366;;;:::o;23235:419::-;23401:4;23439:2;23428:9;23424:18;23416:26;;23488:9;23482:4;23478:20;23474:1;23463:9;23459:17;23452:47;23516:131;23642:4;23516:131;:::i;:::-;23508:139;;23235:419;;;:::o;23660:194::-;23700:4;23720:20;23738:1;23720:20;:::i;:::-;23715:25;;23754:20;23772:1;23754:20;:::i;:::-;23749:25;;23798:1;23795;23791:9;23783:17;;23822:1;23816:4;23813:11;23810:37;;;23827:18;;:::i;:::-;23810:37;23660:194;;;;:::o;23860:177::-;24000:29;23996:1;23988:6;23984:14;23977:53;23860:177;:::o;24043:366::-;24185:3;24206:67;24270:2;24265:3;24206:67;:::i;:::-;24199:74;;24282:93;24371:3;24282:93;:::i;:::-;24400:2;24395:3;24391:12;24384:19;;24043:366;;;:::o;24415:419::-;24581:4;24619:2;24608:9;24604:18;24596:26;;24668:9;24662:4;24658:20;24654:1;24643:9;24639:17;24632:47;24696:131;24822:4;24696:131;:::i;:::-;24688:139;;24415:419;;;:::o

Swarm Source

ipfs://37fc2fcd077fe789f6949a8c750f99c58e0cf220737f68ac6b66aa96076eb8d0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.