APE Price: $0.44 (-2.34%)
    /

    shapes (shapes)

    Overview

    TokenID

    10607

    Total Transfers

    -

    Market

    Onchain Market Cap

    $0.00

    Circulating Supply Market Cap

    -
    Loading...
    Loading
    Loading...
    Loading
    Loading...
    Loading

    Click here to update the token information / general information

    Contract Source Code Verified (Exact Match)

    Contract Name:
    shapes

    Compiler Version
    v0.8.25+commit.b61c2a91

    Optimization Enabled:
    No with 200 runs

    Other Settings:
    default evmVersion, MIT license

    Contract Source Code (Solidity)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    /**
    *Submitted for verification at apescan.io on 2024-11-03
    */
    /**
    *Submitted for verification at apescan.io on 2024-11-02
    */
    /**
    *Submitted for verification at apescan.io on 2024-11-02
    */
    // SPDX-License-Identifier: MIT
    // File: @openzeppelin/contracts/security/ReentrancyGuard.sol
    // OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)
    pragma solidity ^0.8.0;
    /**
    * @dev Contract module that helps prevent reentrant calls to a function.
    *
    * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
    * available, which can be applied to functions to make sure there are no nested
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    API
    [{"inputs":[{"internalType":"string","name":"_hiddenMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"ApprovalToCurrentOwner","type":"error"},{"inputs":[],"name":"ApproveToCaller","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"FREE_NFT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freeSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hiddenMetadataUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMintAmountPerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"},{"internalType":"address","name":"_receiver","type":"address"}],"name":"mintForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cost","type":"uint256"}],"name":"setCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint96","name":"feeNumerator","type":"uint96"}],"name":"setDefaultRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_FREENFT","type":"uint256"}],"name":"setFREENFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_freeSupply","type":"uint256"}],"name":"setFreeSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_hiddenMetadataUri","type":"string"}],"name":"setHiddenMetadataUri","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxMintAmountPerTx","type":"uint256"}],"name":"setMaxMintAmountPerTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSupply","type":"uint256"}],"name":"setMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"setRevealed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

    6080604052670de0b6b3a7640000600c556103e8600d555f600e556032600f555f6010555f60115f6101000a81548160ff0219169083151502179055506001601160016101000a81548160ff021916908315150217905550348015610062575f80fd5b50604051614e9f380380614e9f83398181016040528101906100849190610440565b6040518060400160405280600681526020017f73686170657300000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f736861706573000000000000000000000000000000000000000000000000000081525081600290816100ff9190610694565b50806003908161010f9190610694565b5061011e61015e60201b60201c565b5f81905550505061014161013661016660201b60201c565b61016d60201b60201c565b60016009819055506101588161023060201b60201c565b506107db565b5f6001905090565b5f33905090565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61023e61016660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166102626102cb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146102b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102af906107bd565b60405180910390fd5b80600b90816102c79190610694565b5050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103528261030c565b810181811067ffffffffffffffff821117156103715761037061031c565b5b80604052505050565b5f6103836102f3565b905061038f8282610349565b919050565b5f67ffffffffffffffff8211156103ae576103ad61031c565b5b6103b78261030c565b9050602081019050919050565b8281835e5f83830152505050565b5f6103e46103df84610394565b61037a565b905082815260208101848484011115610400576103ff610308565b5b61040b8482856103c4565b509392505050565b5f82601f83011261042757610426610304565b5b81516104378482602086016103d2565b91505092915050565b5f60208284031215610455576104546102fc565b5b5f82015167ffffffffffffffff81111561047257610471610300565b5b61047e84828501610413565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104d557607f821691505b6020821081036104e8576104e7610491565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261054a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261050f565b610554868361050f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61059861059361058e8461056c565b610575565b61056c565b9050919050565b5f819050919050565b6105b18361057e565b6105c56105bd8261059f565b84845461051b565b825550505050565b5f90565b6105d96105cd565b6105e48184846105a8565b505050565b5b81811015610607576105fc5f826105d1565b6001810190506105ea565b5050565b601f82111561064c5761061d816104ee565b61062684610500565b81016020851015610635578190505b61064961064185610500565b8301826105e9565b50505b505050565b5f82821c905092915050565b5f61066c5f1984600802610651565b1980831691505092915050565b5f610684838361065d565b9150826002028217905092915050565b61069d82610487565b67ffffffffffffffff8111156106b6576106b561031c565b5b6106c082546104be565b6106cb82828561060b565b5f60209050601f8311600181146106fc575f84156106ea578287015190505b6106f48582610679565b86555061075b565b601f19841661070a866104ee565b5f5b828110156107315784890151825560018201915060208501945060208101905061070c565b8683101561074e578489015161074a601f89168261065d565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6107a7602083610763565b91506107b282610773565b602082019050919050565b5f6020820190508181035f8301526107d48161079b565b9050919050565b6146b7806107e85f395ff3fe60806040526004361061023a575f3560e01c806370a082311161012d578063b3aa76a0116100aa578063e0a808531161006e578063e0a8085314610819578063e985e9c514610841578063efbd73f41461087d578063f2fde38b146108a5578063f676308a146108cd5761023a565b8063b3aa76a014610737578063b88d4fde14610761578063c87b56dd14610789578063cfc86f7b146107c5578063d5abeb01146107ef5761023a565b806395d89b41116100f157806395d89b4114610677578063a0712d68146106a1578063a22cb465146106bd578063a45ba8e7146106e5578063b071401b1461070f5761023a565b806370a08231146105a9578063715018a6146105e55780638da5cb5b146105fb5780638e9d3bf11461062557806394354fd01461064d5761023a565b80632a55205a116101bb578063518302271161017f57806351830227146104c957806355f804b3146104f35780635c975abb1461051b5780636352211e146105455780636f8b44b0146105815761023a565b80632a55205a146103fe5780633ccfd60b1461043b57806342842e0e1461045157806344a0d68a146104795780634fdd43cb146104a15761023a565b806313faede61161020257806313faede61461033057806316c38b3c1461035a57806318160ddd1461038257806323b872dd146103ac57806324a6ab0c146103d45761023a565b806301ffc9a71461023e57806304634d8d1461027a57806306fdde03146102a2578063081812fc146102cc578063095ea7b314610308575b5f80fd5b348015610249575f80fd5b50610264600480360381019061025f91906132db565b6108f5565b6040516102719190613320565b60405180910390f35b348015610285575f80fd5b506102a0600480360381019061029b91906133d4565b610936565b005b3480156102ad575f80fd5b506102b6610a7a565b6040516102c39190613482565b60405180910390f35b3480156102d7575f80fd5b506102f260048036038101906102ed91906134d5565b610b0a565b6040516102ff919061350f565b60405180910390f35b348015610313575f80fd5b5061032e60048036038101906103299190613528565b610b82565b005b34801561033b575f80fd5b50610344610c8b565b6040516103519190613575565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b91906135b8565b610c91565b005b34801561038d575f80fd5b50610396610d29565b6040516103a39190613575565b60405180910390f35b3480156103b7575f80fd5b506103d260048036038101906103cd91906135e3565b610d3e565b005b3480156103df575f80fd5b506103e8610d4e565b6040516103f59190613575565b60405180910390f35b348015610409575f80fd5b50610424600480360381019061041f9190613633565b610d54565b604051610432929190613671565b60405180910390f35b348015610446575f80fd5b5061044f610dc9565b005b34801561045c575f80fd5b50610477600480360381019061047291906135e3565b610f15565b005b348015610484575f80fd5b5061049f600480360381019061049a91906134d5565b610f34565b005b3480156104ac575f80fd5b506104c760048036038101906104c291906137c4565b610fba565b005b3480156104d4575f80fd5b506104dd611049565b6040516104ea9190613320565b60405180910390f35b3480156104fe575f80fd5b5061051960048036038101906105149190613868565b61105c565b005b348015610526575f80fd5b5061052f6110ee565b60405161053c9190613320565b60405180910390f35b348015610550575f80fd5b5061056b600480360381019061056691906134d5565b611100565b604051610578919061350f565b60405180910390f35b34801561058c575f80fd5b506105a760048036038101906105a291906134d5565b611114565b005b3480156105b4575f80fd5b506105cf60048036038101906105ca91906138b3565b61119a565b6040516105dc9190613575565b60405180910390f35b3480156105f0575f80fd5b506105f9611264565b005b348015610606575f80fd5b5061060f6112eb565b60405161061c919061350f565b60405180910390f35b348015610630575f80fd5b5061064b600480360381019061064691906134d5565b611313565b005b348015610658575f80fd5b50610661611399565b60405161066e9190613575565b60405180910390f35b348015610682575f80fd5b5061068b61139f565b6040516106989190613482565b60405180910390f35b6106bb60048036038101906106b691906134d5565b61142f565b005b3480156106c8575f80fd5b506106e360048036038101906106de91906138de565b6118e2565b005b3480156106f0575f80fd5b506106f9611a54565b6040516107069190613482565b60405180910390f35b34801561071a575f80fd5b50610735600480360381019061073091906134d5565b611ae0565b005b348015610742575f80fd5b5061074b611b66565b6040516107589190613575565b60405180910390f35b34801561076c575f80fd5b50610787600480360381019061078291906139ba565b611b6c565b005b348015610794575f80fd5b506107af60048036038101906107aa91906134d5565b611be8565b6040516107bc9190613482565b60405180910390f35b3480156107d0575f80fd5b506107d9611d10565b6040516107e69190613482565b60405180910390f35b3480156107fa575f80fd5b50610803611d9c565b6040516108109190613575565b60405180910390f35b348015610824575f80fd5b5061083f600480360381019061083a91906135b8565b611da2565b005b34801561084c575f80fd5b5061086760048036038101906108629190613a3a565b611e3b565b6040516108749190613320565b60405180910390f35b348015610888575f80fd5b506108a3600480360381019061089e9190613a78565b611ec9565b005b3480156108b0575f80fd5b506108cb60048036038101906108c691906138b3565b611f53565b005b3480156108d8575f80fd5b506108f360048036038101906108ee91906134d5565b612049565b005b5f632a55205a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061092f575061092e826120cf565b5b9050919050565b61093e6121b0565b73ffffffffffffffffffffffffffffffffffffffff1661095c6112eb565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990613b00565b60405180910390fd5b612710816bffffffffffffffffffffffff161115610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90613b68565b60405180910390fd5b8160135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055505050565b606060028054610a8990613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab590613bb3565b8015610b005780601f10610ad757610100808354040283529160200191610b00565b820191905f5260205f20905b815481529060010190602001808311610ae357829003601f168201915b5050505050905090565b5f610b14826121b7565b610b4a576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60065f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f610b8c82611100565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bf3576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610c126121b0565b73ffffffffffffffffffffffffffffffffffffffff1614158015610c445750610c4281610c3d6121b0565b611e3b565b155b15610c7b576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c86838383612200565b505050565b600c5481565b610c996121b0565b73ffffffffffffffffffffffffffffffffffffffff16610cb76112eb565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0490613b00565b60405180910390fd5b8060115f6101000a81548160ff02191690831515021790555050565b5f610d326122af565b6001545f540303905090565b610d498383836122b7565b505050565b600e5481565b5f805f612710601360149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1685610d8e9190613c10565b610d989190613c7e565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168192509250509250929050565b610dd16121b0565b73ffffffffffffffffffffffffffffffffffffffff16610def6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614610e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3c90613b00565b60405180910390fd5b600260095403610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190613cf8565b60405180910390fd5b60026009819055505f610e9b6112eb565b73ffffffffffffffffffffffffffffffffffffffff1647604051610ebe90613d43565b5f6040518083038185875af1925050503d805f8114610ef8576040519150601f19603f3d011682016040523d82523d5f602084013e610efd565b606091505b5050905080610f0a575f80fd5b506001600981905550565b610f2f83838360405180602001604052805f815250611b6c565b505050565b610f3c6121b0565b73ffffffffffffffffffffffffffffffffffffffff16610f5a6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790613b00565b60405180910390fd5b80600c8190555050565b610fc26121b0565b73ffffffffffffffffffffffffffffffffffffffff16610fe06112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d90613b00565b60405180910390fd5b80600b90816110459190613ef4565b5050565b601160019054906101000a900460ff1681565b6110646121b0565b73ffffffffffffffffffffffffffffffffffffffff166110826112eb565b73ffffffffffffffffffffffffffffffffffffffff16146110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90613b00565b60405180910390fd5b8181600a91826110e9929190613fcd565b505050565b60115f9054906101000a900460ff1681565b5f61110a8261274d565b5f01519050919050565b61111c6121b0565b73ffffffffffffffffffffffffffffffffffffffff1661113a6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118790613b00565b60405180910390fd5b80600d8190555050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611200576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b61126c6121b0565b73ffffffffffffffffffffffffffffffffffffffff1661128a6112eb565b73ffffffffffffffffffffffffffffffffffffffff16146112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790613b00565b60405180910390fd5b6112e95f6129c9565b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61131b6121b0565b73ffffffffffffffffffffffffffffffffffffffff166113396112eb565b73ffffffffffffffffffffffffffffffffffffffff161461138f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138690613b00565b60405180910390fd5b8060108190555050565b600f5481565b6060600380546113ae90613bb3565b80601f01602080910402602001604051908101604052809291908181526020018280546113da90613bb3565b80156114255780601f106113fc57610100808354040283529160200191611425565b820191905f5260205f20905b81548152906001019060200180831161140857829003601f168201915b5050505050905090565b600260095403611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90613cf8565b60405180910390fd5b60026009819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906140e4565b60405180910390fd5b5f811180156114fb5750600f548111155b61153a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115319061414c565b60405180910390fd5b600d5481611546610d29565b611550919061416a565b1115611591576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611588906141e7565b60405180910390fd5b60115f9054906101000a900460ff16156115e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d79061424f565b60405180910390fd5b5f8190506010543073ffffffffffffffffffffffffffffffffffffffff166370a0823161160b6121b0565b6040518263ffffffff1660e01b8152600401611627919061350f565b602060405180830381865afa158015611642573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116669190614281565b10156116de5760105481106116d95760125f6116806121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546010546116c791906142ac565b816116d291906142ac565b90506116dd565b5f90505b5b80600c546116ec9190613c10565b34101561172e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172590614329565b60405180910390fd5b600e54611739610d29565b106117d1575f3411611780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177790614391565b60405180910390fd5b81600c5461178e9190613c10565b3410156117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790614329565b60405180910390fd5b5b8160125f6117dd6121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611824919061416a565b9250508190555060105460125f6118396121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156118c55760105460125f6118876121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6118d66118d06121b0565b83612a8c565b50600160098190555050565b6118ea6121b0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361194e576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f61195a6121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611a036121b0565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a489190613320565b60405180910390a35050565b600b8054611a6190613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d90613bb3565b8015611ad85780601f10611aaf57610100808354040283529160200191611ad8565b820191905f5260205f20905b815481529060010190602001808311611abb57829003601f168201915b505050505081565b611ae86121b0565b73ffffffffffffffffffffffffffffffffffffffff16611b066112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390613b00565b60405180910390fd5b80600f8190555050565b60105481565b611b778484846122b7565b611b968373ffffffffffffffffffffffffffffffffffffffff16612aa9565b8015611bab5750611ba984848484612acb565b155b15611be2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6060611bf3826121b7565b611c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c29906143f9565b60405180910390fd5b601160019054906101000a900460ff1615611c7f57611c4f612c16565b611c5883612ca6565b604051602001611c69929190614451565b6040516020818303038152906040529050611d0b565b600b8054611c8c90613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054611cb890613bb3565b8015611d035780601f10611cda57610100808354040283529160200191611d03565b820191905f5260205f20905b815481529060010190602001808311611ce657829003601f168201915b505050505090505b919050565b600a8054611d1d90613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4990613bb3565b8015611d945780601f10611d6b57610100808354040283529160200191611d94565b820191905f5260205f20905b815481529060010190602001808311611d7757829003601f168201915b505050505081565b600d5481565b611daa6121b0565b73ffffffffffffffffffffffffffffffffffffffff16611dc86112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1590613b00565b60405180910390fd5b80601160016101000a81548160ff02191690831515021790555050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b611ed16121b0565b73ffffffffffffffffffffffffffffffffffffffff16611eef6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3c90613b00565b60405180910390fd5b611f4f8183612a8c565b5050565b611f5b6121b0565b73ffffffffffffffffffffffffffffffffffffffff16611f796112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690613b00565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361203d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612034906144e4565b60405180910390fd5b612046816129c9565b50565b6120516121b0565b73ffffffffffffffffffffffffffffffffffffffff1661206f6112eb565b73ffffffffffffffffffffffffffffffffffffffff16146120c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bc90613b00565b60405180910390fd5b80600e8190555050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061219957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806121a957506121a882612dff565b5b9050919050565b5f33905090565b5f816121c16122af565b111580156121cf57505f5482105b80156121f9575060045f8381526020019081526020015f205f01601c9054906101000a900460ff16155b9050919050565b8260065f8481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b5f6001905090565b5f6122c18261274d565b90508373ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff161461232b576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8473ffffffffffffffffffffffffffffffffffffffff1661234b6121b0565b73ffffffffffffffffffffffffffffffffffffffff16148061237a5750612379856123746121b0565b611e3b565b5b806123bf57506123886121b0565b73ffffffffffffffffffffffffffffffffffffffff166123a784610b0a565b73ffffffffffffffffffffffffffffffffffffffff16145b9050806123f8576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361245d576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61246a8585856001612e68565b6124755f8487612200565b600160055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f60045f8581526020019081526020015f20905084815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042815f0160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f6001850190505f60045f8381526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036126db575f5482146126da5787815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460200151815f0160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127468585856001612e6e565b5050505050565b612755613235565b5f829050806127626122af565b1115801561277057505f5481105b15612992575f60045f8381526020019081526020015f206040518060600160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f8201601c9054906101000a900460ff16151515158152505090508060400151612990575f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff161461287c5780925050506129c4565b5b60011561298f5781806001900392505060045f8381526020019081526020015f206040518060600160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f8201601c9054906101000a900460ff16151515158152505090505f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff161461298a5780925050506129c4565b61287d565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612aa5828260405180602001604052805f815250612e74565b5050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f8373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612af06121b0565b8786866040518563ffffffff1660e01b8152600401612b129493929190614554565b6020604051808303815f875af1925050508015612b4d57506040513d601f19601f82011682018060405250810190612b4a91906145b2565b60015b612bc3573d805f8114612b7b576040519150601f19603f3d011682016040523d82523d5f602084013e612b80565b606091505b505f815103612bbb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600a8054612c2590613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054612c5190613bb3565b8015612c9c5780601f10612c7357610100808354040283529160200191612c9c565b820191905f5260205f20905b815481529060010190602001808311612c7f57829003601f168201915b5050505050905090565b60605f8203612cec576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612dfa565b5f8290505f5b5f8214612d1b578080612d04906145dd565b915050600a82612d149190613c7e565b9150612cf2565b5f8167ffffffffffffffff811115612d3657612d356136a0565b5b6040519080825280601f01601f191660200182016040528015612d685781602001600182028036833780820191505090505b5090505b5f8514612df357600182612d8091906142ac565b9150600a85612d8f9190614624565b6030612d9b919061416a565b60f81b818381518110612db157612db0614654565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a85612dec9190613c7e565b9450612d6c565b8093505050505b919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b50505050565b612e818383836001612e86565b505050565b5f805490505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612ef0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8403612f29576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f355f868387612e68565b8360055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508360055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508460045f8381526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260045f8381526020019081526020015f205f0160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f8190505f85820190508380156130ef57506130ee8773ffffffffffffffffffffffffffffffffffffffff16612aa9565b5b156131b0575b818773ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46131625f888480600101955088612acb565b613198576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082036130f557825f54146131ab575f80fd5b61321a565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082036131b1575b815f81905550505061322e5f868387612e6e565b5050505050565b60405180606001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6132ba81613286565b81146132c4575f80fd5b50565b5f813590506132d5816132b1565b92915050565b5f602082840312156132f0576132ef61327e565b5b5f6132fd848285016132c7565b91505092915050565b5f8115159050919050565b61331a81613306565b82525050565b5f6020820190506133335f830184613311565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61336282613339565b9050919050565b61337281613358565b811461337c575f80fd5b50565b5f8135905061338d81613369565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b6133b381613393565b81146133bd575f80fd5b50565b5f813590506133ce816133aa565b92915050565b5f80604083850312156133ea576133e961327e565b5b5f6133f78582860161337f565b9250506020613408858286016133c0565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61345482613412565b61345e818561341c565b935061346e81856020860161342c565b6134778161343a565b840191505092915050565b5f6020820190508181035f83015261349a818461344a565b905092915050565b5f819050919050565b6134b4816134a2565b81146134be575f80fd5b50565b5f813590506134cf816134ab565b92915050565b5f602082840312156134ea576134e961327e565b5b5f6134f7848285016134c1565b91505092915050565b61350981613358565b82525050565b5f6020820190506135225f830184613500565b92915050565b5f806040838503121561353e5761353d61327e565b5b5f61354b8582860161337f565b925050602061355c858286016134c1565b9150509250929050565b61356f816134a2565b82525050565b5f6020820190506135885f830184613566565b92915050565b61359781613306565b81146135a1575f80fd5b50565b5f813590506135b28161358e565b92915050565b5f602082840312156135cd576135cc61327e565b5b5f6135da848285016135a4565b91505092915050565b5f805f606084860312156135fa576135f961327e565b5b5f6136078682870161337f565b93505060206136188682870161337f565b9250506040613629868287016134c1565b9150509250925092565b5f80604083850312156136495761364861327e565b5b5f613656858286016134c1565b9250506020613667858286016134c1565b9150509250929050565b5f6040820190506136845f830185613500565b6136916020830184613566565b9392505050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6136d68261343a565b810181811067ffffffffffffffff821117156136f5576136f46136a0565b5b80604052505050565b5f613707613275565b905061371382826136cd565b919050565b5f67ffffffffffffffff821115613732576137316136a0565b5b61373b8261343a565b9050602081019050919050565b828183375f83830152505050565b5f61376861376384613718565b6136fe565b9050828152602081018484840111156137845761378361369c565b5b61378f848285613748565b509392505050565b5f82601f8301126137ab576137aa613698565b5b81356137bb848260208601613756565b91505092915050565b5f602082840312156137d9576137d861327e565b5b5f82013567ffffffffffffffff8111156137f6576137f5613282565b5b61380284828501613797565b91505092915050565b5f80fd5b5f80fd5b5f8083601f84011261382857613827613698565b5b8235905067ffffffffffffffff8111156138455761384461380b565b5b6020830191508360018202830111156138615761386061380f565b5b9250929050565b5f806020838503121561387e5761387d61327e565b5b5f83013567ffffffffffffffff81111561389b5761389a613282565b5b6138a785828601613813565b92509250509250929050565b5f602082840312156138c8576138c761327e565b5b5f6138d58482850161337f565b91505092915050565b5f80604083850312156138f4576138f361327e565b5b5f6139018582860161337f565b9250506020613912858286016135a4565b9150509250929050565b5f67ffffffffffffffff821115613936576139356136a0565b5b61393f8261343a565b9050602081019050919050565b5f61395e6139598461391c565b6136fe565b90508281526020810184848401111561397a5761397961369c565b5b613985848285613748565b509392505050565b5f82601f8301126139a1576139a0613698565b5b81356139b184826020860161394c565b91505092915050565b5f805f80608085870312156139d2576139d161327e565b5b5f6139df8782880161337f565b94505060206139f08782880161337f565b9350506040613a01878288016134c1565b925050606085013567ffffffffffffffff811115613a2257613a21613282565b5b613a2e8782880161398d565b91505092959194509250565b5f8060408385031215613a5057613a4f61327e565b5b5f613a5d8582860161337f565b9250506020613a6e8582860161337f565b9150509250929050565b5f8060408385031215613a8e57613a8d61327e565b5b5f613a9b858286016134c1565b9250506020613aac8582860161337f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613aea60208361341c565b9150613af582613ab6565b602082019050919050565b5f6020820190508181035f830152613b1781613ade565b9050919050565b7f46656520657863656564732031303025000000000000000000000000000000005f82015250565b5f613b5260108361341c565b9150613b5d82613b1e565b602082019050919050565b5f6020820190508181035f830152613b7f81613b46565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613bca57607f821691505b602082108103613bdd57613bdc613b86565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613c1a826134a2565b9150613c25836134a2565b9250828202613c33816134a2565b91508282048414831517613c4a57613c49613be3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613c88826134a2565b9150613c93836134a2565b925082613ca357613ca2613c51565b5b828204905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f613ce2601f8361341c565b9150613ced82613cae565b602082019050919050565b5f6020820190508181035f830152613d0f81613cd6565b9050919050565b5f81905092915050565b50565b5f613d2e5f83613d16565b9150613d3982613d20565b5f82019050919050565b5f613d4d82613d23565b9150819050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302613db37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613d78565b613dbd8683613d78565b95508019841693508086168417925050509392505050565b5f819050919050565b5f613df8613df3613dee846134a2565b613dd5565b6134a2565b9050919050565b5f819050919050565b613e1183613dde565b613e25613e1d82613dff565b848454613d84565b825550505050565b5f90565b613e39613e2d565b613e44818484613e08565b505050565b5b81811015613e6757613e5c5f82613e31565b600181019050613e4a565b5050565b601f821115613eac57613e7d81613d57565b613e8684613d69565b81016020851015613e95578190505b613ea9613ea185613d69565b830182613e49565b50505b505050565b5f82821c905092915050565b5f613ecc5f1984600802613eb1565b1980831691505092915050565b5f613ee48383613ebd565b9150826002028217905092915050565b613efd82613412565b67ffffffffffffffff811115613f1657613f156136a0565b5b613f208254613bb3565b613f2b828285613e6b565b5f60209050601f831160018114613f5c575f8415613f4a578287015190505b613f548582613ed9565b865550613fbb565b601f198416613f6a86613d57565b5f5b82811015613f9157848901518255600182019150602085019450602081019050613f6c565b86831015613fae5784890151613faa601f891682613ebd565b8355505b6001600288020188555050505b505050505050565b5f82905092915050565b613fd78383613fc3565b67ffffffffffffffff811115613ff057613fef6136a0565b5b613ffa8254613bb3565b614005828285613e6b565b5f601f831160018114614032575f8415614020578287013590505b61402a8582613ed9565b865550614091565b601f19841661404086613d57565b5f5b8281101561406757848901358255600182019150602085019450602081019050614042565b868310156140845784890135614080601f891682613ebd565b8355505b6001600288020188555050505b50505050505050565b7f436f6e74726163747320617265206e6f7420616c6c6f776564000000000000005f82015250565b5f6140ce60198361341c565b91506140d98261409a565b602082019050919050565b5f6020820190508181035f8301526140fb816140c2565b9050919050565b7f496e76616c6964206d696e7420616d6f756e74210000000000000000000000005f82015250565b5f61413660148361341c565b915061414182614102565b602082019050919050565b5f6020820190508181035f8301526141638161412a565b9050919050565b5f614174826134a2565b915061417f836134a2565b925082820190508082111561419757614196613be3565b5b92915050565b7f4d617820737570706c79206578636565646564210000000000000000000000005f82015250565b5f6141d160148361341c565b91506141dc8261419d565b602082019050919050565b5f6020820190508181035f8301526141fe816141c5565b9050919050565b7f54686520636f6e747261637420697320706175736564210000000000000000005f82015250565b5f61423960178361341c565b915061424482614205565b602082019050919050565b5f6020820190508181035f8301526142668161422d565b9050919050565b5f8151905061427b816134ab565b92915050565b5f602082840312156142965761429561327e565b5b5f6142a38482850161426d565b91505092915050565b5f6142b6826134a2565b91506142c1836134a2565b92508282039050818111156142d9576142d8613be3565b5b92915050565b7f496e73756666696369656e742066756e647321000000000000000000000000005f82015250565b5f61431360138361341c565b915061431e826142df565b602082019050919050565b5f6020820190508181035f83015261434081614307565b9050919050565b7f4d6178206672656520737570706c7920657863656564656421000000000000005f82015250565b5f61437b60198361341c565b915061438682614347565b602082019050919050565b5f6020820190508181035f8301526143a88161436f565b9050919050565b7f55524920646f6573206e6f7420657869737421000000000000000000000000005f82015250565b5f6143e360138361341c565b91506143ee826143af565b602082019050919050565b5f6020820190508181035f830152614410816143d7565b9050919050565b5f81905092915050565b5f61442b82613412565b6144358185614417565b935061444581856020860161342c565b80840191505092915050565b5f61445c8285614421565b91506144688284614421565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6144ce60268361341c565b91506144d982614474565b604082019050919050565b5f6020820190508181035f8301526144fb816144c2565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61452682614502565b614530818561450c565b935061454081856020860161342c565b6145498161343a565b840191505092915050565b5f6080820190506145675f830187613500565b6145746020830186613500565b6145816040830185613566565b8181036060830152614593818461451c565b905095945050505050565b5f815190506145ac816132b1565b92915050565b5f602082840312156145c7576145c661327e565b5b5f6145d48482850161459e565b91505092915050565b5f6145e7826134a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361461957614618613be3565b5b600182019050919050565b5f61462e826134a2565b9150614639836134a2565b92508261464957614648613c51565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea26469706673582212203b85a597350d4f25fffabfea9a738f41217eff2c061da4ad2f79870be387549d64736f6c634300081900330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e516d625545673443357533687448484d48674c31687965543348544b57693745556e6732585055556f4c79717235000000000000000000000000000000000000

    Deployed Bytecode

    0x60806040526004361061023a575f3560e01c806370a082311161012d578063b3aa76a0116100aa578063e0a808531161006e578063e0a8085314610819578063e985e9c514610841578063efbd73f41461087d578063f2fde38b146108a5578063f676308a146108cd5761023a565b8063b3aa76a014610737578063b88d4fde14610761578063c87b56dd14610789578063cfc86f7b146107c5578063d5abeb01146107ef5761023a565b806395d89b41116100f157806395d89b4114610677578063a0712d68146106a1578063a22cb465146106bd578063a45ba8e7146106e5578063b071401b1461070f5761023a565b806370a08231146105a9578063715018a6146105e55780638da5cb5b146105fb5780638e9d3bf11461062557806394354fd01461064d5761023a565b80632a55205a116101bb578063518302271161017f57806351830227146104c957806355f804b3146104f35780635c975abb1461051b5780636352211e146105455780636f8b44b0146105815761023a565b80632a55205a146103fe5780633ccfd60b1461043b57806342842e0e1461045157806344a0d68a146104795780634fdd43cb146104a15761023a565b806313faede61161020257806313faede61461033057806316c38b3c1461035a57806318160ddd1461038257806323b872dd146103ac57806324a6ab0c146103d45761023a565b806301ffc9a71461023e57806304634d8d1461027a57806306fdde03146102a2578063081812fc146102cc578063095ea7b314610308575b5f80fd5b348015610249575f80fd5b50610264600480360381019061025f91906132db565b6108f5565b6040516102719190613320565b60405180910390f35b348015610285575f80fd5b506102a0600480360381019061029b91906133d4565b610936565b005b3480156102ad575f80fd5b506102b6610a7a565b6040516102c39190613482565b60405180910390f35b3480156102d7575f80fd5b506102f260048036038101906102ed91906134d5565b610b0a565b6040516102ff919061350f565b60405180910390f35b348015610313575f80fd5b5061032e60048036038101906103299190613528565b610b82565b005b34801561033b575f80fd5b50610344610c8b565b6040516103519190613575565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b91906135b8565b610c91565b005b34801561038d575f80fd5b50610396610d29565b6040516103a39190613575565b60405180910390f35b3480156103b7575f80fd5b506103d260048036038101906103cd91906135e3565b610d3e565b005b3480156103df575f80fd5b506103e8610d4e565b6040516103f59190613575565b60405180910390f35b348015610409575f80fd5b50610424600480360381019061041f9190613633565b610d54565b604051610432929190613671565b60405180910390f35b348015610446575f80fd5b5061044f610dc9565b005b34801561045c575f80fd5b50610477600480360381019061047291906135e3565b610f15565b005b348015610484575f80fd5b5061049f600480360381019061049a91906134d5565b610f34565b005b3480156104ac575f80fd5b506104c760048036038101906104c291906137c4565b610fba565b005b3480156104d4575f80fd5b506104dd611049565b6040516104ea9190613320565b60405180910390f35b3480156104fe575f80fd5b5061051960048036038101906105149190613868565b61105c565b005b348015610526575f80fd5b5061052f6110ee565b60405161053c9190613320565b60405180910390f35b348015610550575f80fd5b5061056b600480360381019061056691906134d5565b611100565b604051610578919061350f565b60405180910390f35b34801561058c575f80fd5b506105a760048036038101906105a291906134d5565b611114565b005b3480156105b4575f80fd5b506105cf60048036038101906105ca91906138b3565b61119a565b6040516105dc9190613575565b60405180910390f35b3480156105f0575f80fd5b506105f9611264565b005b348015610606575f80fd5b5061060f6112eb565b60405161061c919061350f565b60405180910390f35b348015610630575f80fd5b5061064b600480360381019061064691906134d5565b611313565b005b348015610658575f80fd5b50610661611399565b60405161066e9190613575565b60405180910390f35b348015610682575f80fd5b5061068b61139f565b6040516106989190613482565b60405180910390f35b6106bb60048036038101906106b691906134d5565b61142f565b005b3480156106c8575f80fd5b506106e360048036038101906106de91906138de565b6118e2565b005b3480156106f0575f80fd5b506106f9611a54565b6040516107069190613482565b60405180910390f35b34801561071a575f80fd5b50610735600480360381019061073091906134d5565b611ae0565b005b348015610742575f80fd5b5061074b611b66565b6040516107589190613575565b60405180910390f35b34801561076c575f80fd5b50610787600480360381019061078291906139ba565b611b6c565b005b348015610794575f80fd5b506107af60048036038101906107aa91906134d5565b611be8565b6040516107bc9190613482565b60405180910390f35b3480156107d0575f80fd5b506107d9611d10565b6040516107e69190613482565b60405180910390f35b3480156107fa575f80fd5b50610803611d9c565b6040516108109190613575565b60405180910390f35b348015610824575f80fd5b5061083f600480360381019061083a91906135b8565b611da2565b005b34801561084c575f80fd5b5061086760048036038101906108629190613a3a565b611e3b565b6040516108749190613320565b60405180910390f35b348015610888575f80fd5b506108a3600480360381019061089e9190613a78565b611ec9565b005b3480156108b0575f80fd5b506108cb60048036038101906108c691906138b3565b611f53565b005b3480156108d8575f80fd5b506108f360048036038101906108ee91906134d5565b612049565b005b5f632a55205a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061092f575061092e826120cf565b5b9050919050565b61093e6121b0565b73ffffffffffffffffffffffffffffffffffffffff1661095c6112eb565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a990613b00565b60405180910390fd5b612710816bffffffffffffffffffffffff161115610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90613b68565b60405180910390fd5b8160135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055505050565b606060028054610a8990613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab590613bb3565b8015610b005780601f10610ad757610100808354040283529160200191610b00565b820191905f5260205f20905b815481529060010190602001808311610ae357829003601f168201915b5050505050905090565b5f610b14826121b7565b610b4a576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60065f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f610b8c82611100565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bf3576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610c126121b0565b73ffffffffffffffffffffffffffffffffffffffff1614158015610c445750610c4281610c3d6121b0565b611e3b565b155b15610c7b576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c86838383612200565b505050565b600c5481565b610c996121b0565b73ffffffffffffffffffffffffffffffffffffffff16610cb76112eb565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0490613b00565b60405180910390fd5b8060115f6101000a81548160ff02191690831515021790555050565b5f610d326122af565b6001545f540303905090565b610d498383836122b7565b505050565b600e5481565b5f805f612710601360149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1685610d8e9190613c10565b610d989190613c7e565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168192509250509250929050565b610dd16121b0565b73ffffffffffffffffffffffffffffffffffffffff16610def6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614610e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3c90613b00565b60405180910390fd5b600260095403610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190613cf8565b60405180910390fd5b60026009819055505f610e9b6112eb565b73ffffffffffffffffffffffffffffffffffffffff1647604051610ebe90613d43565b5f6040518083038185875af1925050503d805f8114610ef8576040519150601f19603f3d011682016040523d82523d5f602084013e610efd565b606091505b5050905080610f0a575f80fd5b506001600981905550565b610f2f83838360405180602001604052805f815250611b6c565b505050565b610f3c6121b0565b73ffffffffffffffffffffffffffffffffffffffff16610f5a6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790613b00565b60405180910390fd5b80600c8190555050565b610fc26121b0565b73ffffffffffffffffffffffffffffffffffffffff16610fe06112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d90613b00565b60405180910390fd5b80600b90816110459190613ef4565b5050565b601160019054906101000a900460ff1681565b6110646121b0565b73ffffffffffffffffffffffffffffffffffffffff166110826112eb565b73ffffffffffffffffffffffffffffffffffffffff16146110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90613b00565b60405180910390fd5b8181600a91826110e9929190613fcd565b505050565b60115f9054906101000a900460ff1681565b5f61110a8261274d565b5f01519050919050565b61111c6121b0565b73ffffffffffffffffffffffffffffffffffffffff1661113a6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118790613b00565b60405180910390fd5b80600d8190555050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611200576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b61126c6121b0565b73ffffffffffffffffffffffffffffffffffffffff1661128a6112eb565b73ffffffffffffffffffffffffffffffffffffffff16146112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790613b00565b60405180910390fd5b6112e95f6129c9565b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61131b6121b0565b73ffffffffffffffffffffffffffffffffffffffff166113396112eb565b73ffffffffffffffffffffffffffffffffffffffff161461138f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138690613b00565b60405180910390fd5b8060108190555050565b600f5481565b6060600380546113ae90613bb3565b80601f01602080910402602001604051908101604052809291908181526020018280546113da90613bb3565b80156114255780601f106113fc57610100808354040283529160200191611425565b820191905f5260205f20905b81548152906001019060200180831161140857829003601f168201915b5050505050905090565b600260095403611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90613cf8565b60405180910390fd5b60026009819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906140e4565b60405180910390fd5b5f811180156114fb5750600f548111155b61153a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115319061414c565b60405180910390fd5b600d5481611546610d29565b611550919061416a565b1115611591576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611588906141e7565b60405180910390fd5b60115f9054906101000a900460ff16156115e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d79061424f565b60405180910390fd5b5f8190506010543073ffffffffffffffffffffffffffffffffffffffff166370a0823161160b6121b0565b6040518263ffffffff1660e01b8152600401611627919061350f565b602060405180830381865afa158015611642573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116669190614281565b10156116de5760105481106116d95760125f6116806121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546010546116c791906142ac565b816116d291906142ac565b90506116dd565b5f90505b5b80600c546116ec9190613c10565b34101561172e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172590614329565b60405180910390fd5b600e54611739610d29565b106117d1575f3411611780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177790614391565b60405180910390fd5b81600c5461178e9190613c10565b3410156117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790614329565b60405180910390fd5b5b8160125f6117dd6121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611824919061416a565b9250508190555060105460125f6118396121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156118c55760105460125f6118876121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6118d66118d06121b0565b83612a8c565b50600160098190555050565b6118ea6121b0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361194e576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f61195a6121b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611a036121b0565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a489190613320565b60405180910390a35050565b600b8054611a6190613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d90613bb3565b8015611ad85780601f10611aaf57610100808354040283529160200191611ad8565b820191905f5260205f20905b815481529060010190602001808311611abb57829003601f168201915b505050505081565b611ae86121b0565b73ffffffffffffffffffffffffffffffffffffffff16611b066112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390613b00565b60405180910390fd5b80600f8190555050565b60105481565b611b778484846122b7565b611b968373ffffffffffffffffffffffffffffffffffffffff16612aa9565b8015611bab5750611ba984848484612acb565b155b15611be2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6060611bf3826121b7565b611c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c29906143f9565b60405180910390fd5b601160019054906101000a900460ff1615611c7f57611c4f612c16565b611c5883612ca6565b604051602001611c69929190614451565b6040516020818303038152906040529050611d0b565b600b8054611c8c90613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054611cb890613bb3565b8015611d035780601f10611cda57610100808354040283529160200191611d03565b820191905f5260205f20905b815481529060010190602001808311611ce657829003601f168201915b505050505090505b919050565b600a8054611d1d90613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4990613bb3565b8015611d945780601f10611d6b57610100808354040283529160200191611d94565b820191905f5260205f20905b815481529060010190602001808311611d7757829003601f168201915b505050505081565b600d5481565b611daa6121b0565b73ffffffffffffffffffffffffffffffffffffffff16611dc86112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1590613b00565b60405180910390fd5b80601160016101000a81548160ff02191690831515021790555050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b611ed16121b0565b73ffffffffffffffffffffffffffffffffffffffff16611eef6112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3c90613b00565b60405180910390fd5b611f4f8183612a8c565b5050565b611f5b6121b0565b73ffffffffffffffffffffffffffffffffffffffff16611f796112eb565b73ffffffffffffffffffffffffffffffffffffffff1614611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690613b00565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361203d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612034906144e4565b60405180910390fd5b612046816129c9565b50565b6120516121b0565b73ffffffffffffffffffffffffffffffffffffffff1661206f6112eb565b73ffffffffffffffffffffffffffffffffffffffff16146120c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bc90613b00565b60405180910390fd5b80600e8190555050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061219957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806121a957506121a882612dff565b5b9050919050565b5f33905090565b5f816121c16122af565b111580156121cf57505f5482105b80156121f9575060045f8381526020019081526020015f205f01601c9054906101000a900460ff16155b9050919050565b8260065f8481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b5f6001905090565b5f6122c18261274d565b90508373ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff161461232b576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8473ffffffffffffffffffffffffffffffffffffffff1661234b6121b0565b73ffffffffffffffffffffffffffffffffffffffff16148061237a5750612379856123746121b0565b611e3b565b5b806123bf57506123886121b0565b73ffffffffffffffffffffffffffffffffffffffff166123a784610b0a565b73ffffffffffffffffffffffffffffffffffffffff16145b9050806123f8576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361245d576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61246a8585856001612e68565b6124755f8487612200565b600160055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f60045f8581526020019081526020015f20905084815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042815f0160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f6001850190505f60045f8381526020019081526020015f2090505f73ffffffffffffffffffffffffffffffffffffffff16815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036126db575f5482146126da5787815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460200151815f0160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127468585856001612e6e565b5050505050565b612755613235565b5f829050806127626122af565b1115801561277057505f5481105b15612992575f60045f8381526020019081526020015f206040518060600160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f8201601c9054906101000a900460ff16151515158152505090508060400151612990575f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff161461287c5780925050506129c4565b5b60011561298f5781806001900392505060045f8381526020019081526020015f206040518060600160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f8201601c9054906101000a900460ff16151515158152505090505f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff161461298a5780925050506129c4565b61287d565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612aa5828260405180602001604052805f815250612e74565b5050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f8373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612af06121b0565b8786866040518563ffffffff1660e01b8152600401612b129493929190614554565b6020604051808303815f875af1925050508015612b4d57506040513d601f19601f82011682018060405250810190612b4a91906145b2565b60015b612bc3573d805f8114612b7b576040519150601f19603f3d011682016040523d82523d5f602084013e612b80565b606091505b505f815103612bbb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600a8054612c2590613bb3565b80601f0160208091040260200160405190810160405280929190818152602001828054612c5190613bb3565b8015612c9c5780601f10612c7357610100808354040283529160200191612c9c565b820191905f5260205f20905b815481529060010190602001808311612c7f57829003601f168201915b5050505050905090565b60605f8203612cec576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612dfa565b5f8290505f5b5f8214612d1b578080612d04906145dd565b915050600a82612d149190613c7e565b9150612cf2565b5f8167ffffffffffffffff811115612d3657612d356136a0565b5b6040519080825280601f01601f191660200182016040528015612d685781602001600182028036833780820191505090505b5090505b5f8514612df357600182612d8091906142ac565b9150600a85612d8f9190614624565b6030612d9b919061416a565b60f81b818381518110612db157612db0614654565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a85612dec9190613c7e565b9450612d6c565b8093505050505b919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b50505050565b612e818383836001612e86565b505050565b5f805490505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612ef0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8403612f29576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f355f868387612e68565b8360055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508360055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508460045f8381526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260045f8381526020019081526020015f205f0160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f8190505f85820190508380156130ef57506130ee8773ffffffffffffffffffffffffffffffffffffffff16612aa9565b5b156131b0575b818773ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46131625f888480600101955088612acb565b613198576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082036130f557825f54146131ab575f80fd5b61321a565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082036131b1575b815f81905550505061322e5f868387612e6e565b5050505050565b60405180606001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6132ba81613286565b81146132c4575f80fd5b50565b5f813590506132d5816132b1565b92915050565b5f602082840312156132f0576132ef61327e565b5b5f6132fd848285016132c7565b91505092915050565b5f8115159050919050565b61331a81613306565b82525050565b5f6020820190506133335f830184613311565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61336282613339565b9050919050565b61337281613358565b811461337c575f80fd5b50565b5f8135905061338d81613369565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b6133b381613393565b81146133bd575f80fd5b50565b5f813590506133ce816133aa565b92915050565b5f80604083850312156133ea576133e961327e565b5b5f6133f78582860161337f565b9250506020613408858286016133c0565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61345482613412565b61345e818561341c565b935061346e81856020860161342c565b6134778161343a565b840191505092915050565b5f6020820190508181035f83015261349a818461344a565b905092915050565b5f819050919050565b6134b4816134a2565b81146134be575f80fd5b50565b5f813590506134cf816134ab565b92915050565b5f602082840312156134ea576134e961327e565b5b5f6134f7848285016134c1565b91505092915050565b61350981613358565b82525050565b5f6020820190506135225f830184613500565b92915050565b5f806040838503121561353e5761353d61327e565b5b5f61354b8582860161337f565b925050602061355c858286016134c1565b9150509250929050565b61356f816134a2565b82525050565b5f6020820190506135885f830184613566565b92915050565b61359781613306565b81146135a1575f80fd5b50565b5f813590506135b28161358e565b92915050565b5f602082840312156135cd576135cc61327e565b5b5f6135da848285016135a4565b91505092915050565b5f805f606084860312156135fa576135f961327e565b5b5f6136078682870161337f565b93505060206136188682870161337f565b9250506040613629868287016134c1565b9150509250925092565b5f80604083850312156136495761364861327e565b5b5f613656858286016134c1565b9250506020613667858286016134c1565b9150509250929050565b5f6040820190506136845f830185613500565b6136916020830184613566565b9392505050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6136d68261343a565b810181811067ffffffffffffffff821117156136f5576136f46136a0565b5b80604052505050565b5f613707613275565b905061371382826136cd565b919050565b5f67ffffffffffffffff821115613732576137316136a0565b5b61373b8261343a565b9050602081019050919050565b828183375f83830152505050565b5f61376861376384613718565b6136fe565b9050828152602081018484840111156137845761378361369c565b5b61378f848285613748565b509392505050565b5f82601f8301126137ab576137aa613698565b5b81356137bb848260208601613756565b91505092915050565b5f602082840312156137d9576137d861327e565b5b5f82013567ffffffffffffffff8111156137f6576137f5613282565b5b61380284828501613797565b91505092915050565b5f80fd5b5f80fd5b5f8083601f84011261382857613827613698565b5b8235905067ffffffffffffffff8111156138455761384461380b565b5b6020830191508360018202830111156138615761386061380f565b5b9250929050565b5f806020838503121561387e5761387d61327e565b5b5f83013567ffffffffffffffff81111561389b5761389a613282565b5b6138a785828601613813565b92509250509250929050565b5f602082840312156138c8576138c761327e565b5b5f6138d58482850161337f565b91505092915050565b5f80604083850312156138f4576138f361327e565b5b5f6139018582860161337f565b9250506020613912858286016135a4565b9150509250929050565b5f67ffffffffffffffff821115613936576139356136a0565b5b61393f8261343a565b9050602081019050919050565b5f61395e6139598461391c565b6136fe565b90508281526020810184848401111561397a5761397961369c565b5b613985848285613748565b509392505050565b5f82601f8301126139a1576139a0613698565b5b81356139b184826020860161394c565b91505092915050565b5f805f80608085870312156139d2576139d161327e565b5b5f6139df8782880161337f565b94505060206139f08782880161337f565b9350506040613a01878288016134c1565b925050606085013567ffffffffffffffff811115613a2257613a21613282565b5b613a2e8782880161398d565b91505092959194509250565b5f8060408385031215613a5057613a4f61327e565b5b5f613a5d8582860161337f565b9250506020613a6e8582860161337f565b9150509250929050565b5f8060408385031215613a8e57613a8d61327e565b5b5f613a9b858286016134c1565b9250506020613aac8582860161337f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613aea60208361341c565b9150613af582613ab6565b602082019050919050565b5f6020820190508181035f830152613b1781613ade565b9050919050565b7f46656520657863656564732031303025000000000000000000000000000000005f82015250565b5f613b5260108361341c565b9150613b5d82613b1e565b602082019050919050565b5f6020820190508181035f830152613b7f81613b46565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613bca57607f821691505b602082108103613bdd57613bdc613b86565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613c1a826134a2565b9150613c25836134a2565b9250828202613c33816134a2565b91508282048414831517613c4a57613c49613be3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613c88826134a2565b9150613c93836134a2565b925082613ca357613ca2613c51565b5b828204905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f613ce2601f8361341c565b9150613ced82613cae565b602082019050919050565b5f6020820190508181035f830152613d0f81613cd6565b9050919050565b5f81905092915050565b50565b5f613d2e5f83613d16565b9150613d3982613d20565b5f82019050919050565b5f613d4d82613d23565b9150819050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302613db37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613d78565b613dbd8683613d78565b95508019841693508086168417925050509392505050565b5f819050919050565b5f613df8613df3613dee846134a2565b613dd5565b6134a2565b9050919050565b5f819050919050565b613e1183613dde565b613e25613e1d82613dff565b848454613d84565b825550505050565b5f90565b613e39613e2d565b613e44818484613e08565b505050565b5b81811015613e6757613e5c5f82613e31565b600181019050613e4a565b5050565b601f821115613eac57613e7d81613d57565b613e8684613d69565b81016020851015613e95578190505b613ea9613ea185613d69565b830182613e49565b50505b505050565b5f82821c905092915050565b5f613ecc5f1984600802613eb1565b1980831691505092915050565b5f613ee48383613ebd565b9150826002028217905092915050565b613efd82613412565b67ffffffffffffffff811115613f1657613f156136a0565b5b613f208254613bb3565b613f2b828285613e6b565b5f60209050601f831160018114613f5c575f8415613f4a578287015190505b613f548582613ed9565b865550613fbb565b601f198416613f6a86613d57565b5f5b82811015613f9157848901518255600182019150602085019450602081019050613f6c565b86831015613fae5784890151613faa601f891682613ebd565b8355505b6001600288020188555050505b505050505050565b5f82905092915050565b613fd78383613fc3565b67ffffffffffffffff811115613ff057613fef6136a0565b5b613ffa8254613bb3565b614005828285613e6b565b5f601f831160018114614032575f8415614020578287013590505b61402a8582613ed9565b865550614091565b601f19841661404086613d57565b5f5b8281101561406757848901358255600182019150602085019450602081019050614042565b868310156140845784890135614080601f891682613ebd565b8355505b6001600288020188555050505b50505050505050565b7f436f6e74726163747320617265206e6f7420616c6c6f776564000000000000005f82015250565b5f6140ce60198361341c565b91506140d98261409a565b602082019050919050565b5f6020820190508181035f8301526140fb816140c2565b9050919050565b7f496e76616c6964206d696e7420616d6f756e74210000000000000000000000005f82015250565b5f61413660148361341c565b915061414182614102565b602082019050919050565b5f6020820190508181035f8301526141638161412a565b9050919050565b5f614174826134a2565b915061417f836134a2565b925082820190508082111561419757614196613be3565b5b92915050565b7f4d617820737570706c79206578636565646564210000000000000000000000005f82015250565b5f6141d160148361341c565b91506141dc8261419d565b602082019050919050565b5f6020820190508181035f8301526141fe816141c5565b9050919050565b7f54686520636f6e747261637420697320706175736564210000000000000000005f82015250565b5f61423960178361341c565b915061424482614205565b602082019050919050565b5f6020820190508181035f8301526142668161422d565b9050919050565b5f8151905061427b816134ab565b92915050565b5f602082840312156142965761429561327e565b5b5f6142a38482850161426d565b91505092915050565b5f6142b6826134a2565b91506142c1836134a2565b92508282039050818111156142d9576142d8613be3565b5b92915050565b7f496e73756666696369656e742066756e647321000000000000000000000000005f82015250565b5f61431360138361341c565b915061431e826142df565b602082019050919050565b5f6020820190508181035f83015261434081614307565b9050919050565b7f4d6178206672656520737570706c7920657863656564656421000000000000005f82015250565b5f61437b60198361341c565b915061438682614347565b602082019050919050565b5f6020820190508181035f8301526143a88161436f565b9050919050565b7f55524920646f6573206e6f7420657869737421000000000000000000000000005f82015250565b5f6143e360138361341c565b91506143ee826143af565b602082019050919050565b5f6020820190508181035f830152614410816143d7565b9050919050565b5f81905092915050565b5f61442b82613412565b6144358185614417565b935061444581856020860161342c565b80840191505092915050565b5f61445c8285614421565b91506144688284614421565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6144ce60268361341c565b91506144d982614474565b604082019050919050565b5f6020820190508181035f8301526144fb816144c2565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61452682614502565b614530818561450c565b935061454081856020860161342c565b6145498161343a565b840191505092915050565b5f6080820190506145675f830187613500565b6145746020830186613500565b6145816040830185613566565b8181036060830152614593818461451c565b905095945050505050565b5f815190506145ac816132b1565b92915050565b5f602082840312156145c7576145c661327e565b5b5f6145d48482850161459e565b91505092915050565b5f6145e7826134a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361461957614618613be3565b5b600182019050919050565b5f61462e826134a2565b9150614639836134a2565b92508261464957614648613c51565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea26469706673582212203b85a597350d4f25fffabfea9a738f41217eff2c061da4ad2f79870be387549d64736f6c63430008190033

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

    0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e516d625545673443357533687448484d48674c31687965543348544b57693745556e6732585055556f4c79717235000000000000000000000000000000000000

    -----Decoded View---------------
    Arg [0] : _hiddenMetadataUri (string): QmbUEg4C5u3htHHMHgL1hyeT3HTKWi7EUng2XPUUoLyqr5

    -----Encoded View---------------
    4 Constructor Arguments found :
    Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
    Arg [1] : 000000000000000000000000000000000000000000000000000000000000002e
    Arg [2] : 516d625545673443357533687448484d48674c31687965543348544b57693745
    Arg [3] : 556e6732585055556f4c79717235000000000000000000000000000000000000


    Deployed Bytecode Sourcemap

    47732:4184:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51728:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;51265:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;33017:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34520:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34083:371;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;47894:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;50297:77;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;29153:303;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;35385:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;47964:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;51491:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;50381:150;;;;;;;;;;;;;:::i;:::-;;35626:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;49782:74;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;50565:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;48107:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;50704:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;48076:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32825:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;50000:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;30273:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7662:103;;;;;;;;;;;;;:::i;:::-;;7011:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;50204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;47998:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;33186:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;48415:1036;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;34796:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;47855:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;49863:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;48041:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;35882:369;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;50926:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;47823:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;47928:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;49694:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;35154:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;49458:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7920:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;50100:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;51728:183;51822:4;51857:10;51842:25;;:11;:25;;;;:65;;;;51871:36;51895:11;51871:23;:36::i;:::-;51842:65;51835:72;;51728:183;;;:::o;51265:220::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;51379:5:::1;51363:12;:21;;;;51355:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;51431:8;51412:16;;:27;;;;;;;;;;;;;;;;;;51469:12;51446:20;;:35;;;;;;;;;;;;;;;;;;51265:220:::0;;:::o;33017:100::-;33071:13;33104:5;33097:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33017:100;:::o;34520:204::-;34588:7;34613:16;34621:7;34613;:16::i;:::-;34608:64;;34638:34;;;;;;;;;;;;;;34608:64;34692:15;:24;34708:7;34692:24;;;;;;;;;;;;;;;;;;;;;34685:31;;34520:204;;;:::o;34083:371::-;34156:13;34172:24;34188:7;34172:15;:24::i;:::-;34156:40;;34217:5;34211:11;;:2;:11;;;34207:48;;34231:24;;;;;;;;;;;;;;34207:48;34288:5;34272:21;;:12;:10;:12::i;:::-;:21;;;;:63;;;;;34298:37;34315:5;34322:12;:10;:12::i;:::-;34298:16;:37::i;:::-;34297:38;34272:63;34268:138;;;34359:35;;;;;;;;;;;;;;34268:138;34418:28;34427:2;34431:7;34440:5;34418:8;:28::i;:::-;34145:309;34083:371;;:::o;47894:29::-;;;;:::o;50297:77::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;50362:6:::1;50353;;:15;;;;;;;;;;;;;;;;;;50297:77:::0;:::o;29153:303::-;29197:7;29422:15;:13;:15::i;:::-;29407:12;;29391:13;;:28;:46;29384:53;;29153:303;:::o;35385:170::-;35519:28;35529:4;35535:2;35539:7;35519:9;:28::i;:::-;35385:170;;;:::o;47964:29::-;;;;:::o;51491:231::-;51579:7;51588;51604:21;51666:5;51642:20;;;;;;;;;;;51629:33;;:10;:33;;;;:::i;:::-;51628:43;;;;:::i;:::-;51604:67;;51686:16;;;;;;;;;;;51704:13;51678:40;;;;;51491:231;;;;;:::o;50381:150::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1985:1:::1;2583:7;;:19:::0;2575:63:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1985:1;2716:7;:18;;;;50439:7:::2;50460;:5;:7::i;:::-;50452:21;;50481;50452:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50438:69;;;50522:2;50514:11;;;::::0;::::2;;50431:100;1941:1:::1;2895:7;:22;;;;50381:150::o:0;35626:185::-;35764:39;35781:4;35787:2;35791:7;35764:39;;;;;;;;;;;;:16;:39::i;:::-;35626:185;;;:::o;49782:74::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;49845:5:::1;49838:4;:12;;;;49782:74:::0;:::o;50565:132::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;50673:18:::1;50653:17;:38;;;;;;:::i;:::-;;50565:132:::0;:::o;48107:27::-;;;;;;;;;;;;;:::o;50704:98::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;50789:7:::1;;50773:13;:23;;;;;;;:::i;:::-;;50704:98:::0;;:::o;48076:26::-;;;;;;;;;;;;;:::o;32825:125::-;32889:7;32916:21;32929:7;32916:12;:21::i;:::-;:26;;;32909:33;;32825:125;;;:::o;50000:94::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;50078:10:::1;50066:9;:22;;;;50000:94:::0;:::o;30273:206::-;30337:7;30378:1;30361:19;;:5;:19;;;30357:60;;30389:28;;;;;;;;;;;;;;30357:60;30443:12;:19;30456:5;30443:19;;;;;;;;;;;;;;;:27;;;;;;;;;;;;30435:36;;30428:43;;30273:206;;;:::o;7662:103::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7727:30:::1;7754:1;7727:18;:30::i;:::-;7662:103::o:0;7011:87::-;7057:7;7084:6;;;;;;;;;;;7077:13;;7011:87;:::o;50204:::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;50277:8:::1;50266;:19;;;;50204:87:::0;:::o;47998:38::-;;;;:::o;33186:104::-;33242:13;33275:7;33268:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33186:104;:::o;48415:1036::-;1985:1;2583:7;;:19;2575:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1985:1;2716:7;:18;;;;48506:10:::1;48493:23;;:9;:23;;;48485:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;48575:1;48561:11;:15;:52;;;;;48595:18;;48580:11;:33;;48561:52;48553:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;48684:9;;48669:11;48653:13;:11;:13::i;:::-;:27;;;;:::i;:::-;:40;;48645:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;48734:6;;;;;;;;;;;48733:7;48725:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;48775:20;48796:11;48775:32;;48849:8;;48818:4;:14;;;48833:12;:10;:12::i;:::-;48818:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;48814:208;;;48887:8;;48873:12;:22;48869:146;;48936:8;:22;48945:12;:10;:12::i;:::-;48936:22;;;;;;;;;;;;;;;;48925:8;;:33;;;;:::i;:::-;48911:47;;;;;:::i;:::-;;;48869:146;;;49002:1;48989:14;;48869:146;48814:208;49056:12;49049:4;;:19;;;;:::i;:::-;49036:9;:32;;49028:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;49122:10;;49105:13;:11;:13::i;:::-;:27;49101:183;;49167:1;49155:9;:13;49147:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;49239:11;49232:4;;:18;;;;:::i;:::-;49219:9;:31;;49211:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;49101:183;49314:11;49290:8;:22;49299:12;:10;:12::i;:::-;49290:22;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;49361:8;;49336;:22;49345:12;:10;:12::i;:::-;49336:22;;;;;;;;;;;;;;;;:33;49332:70;;;49394:8;;49371;:22;49380:12;:10;:12::i;:::-;49371:22;;;;;;;;;;;;;;;:31;;;;49332:70;49409:36;49419:12;:10;:12::i;:::-;49433:11;49409:9;:36::i;:::-;48478:973;1941:1:::0;2895:7;:22;;;;48415:1036;:::o;34796:287::-;34907:12;:10;:12::i;:::-;34895:24;;:8;:24;;;34891:54;;34928:17;;;;;;;;;;;;;;34891:54;35003:8;34958:18;:32;34977:12;:10;:12::i;:::-;34958:32;;;;;;;;;;;;;;;:42;34991:8;34958:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;35056:8;35027:48;;35042:12;:10;:12::i;:::-;35027:48;;;35066:8;35027:48;;;;;;:::i;:::-;;;;;;;;34796:287;;:::o;47855:31::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;49863:130::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;49968:19:::1;49947:18;:40;;;;49863:130:::0;:::o;48041:27::-;;;;:::o;35882:369::-;36049:28;36059:4;36065:2;36069:7;36049:9;:28::i;:::-;36092:15;:2;:13;;;:15::i;:::-;:76;;;;;36112:56;36143:4;36149:2;36153:7;36162:5;36112:30;:56::i;:::-;36111:57;36092:76;36088:156;;;36192:40;;;;;;;;;;;;;;36088:156;35882:369;;;;:::o;50926:318::-;51000:13;51032:17;51040:8;51032:7;:17::i;:::-;51024:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;51089:8;;;;;;;;;;;51085:154;;;51143:10;:8;:10::i;:::-;51155:19;:8;:17;:19::i;:::-;51126:49;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51112:64;;;;51085:154;51212:17;51205:24;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50926:318;;;;:::o;47823:27::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;47928:31::-;;;;:::o;49694:81::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;49763:6:::1;49752:8;;:17;;;;;;;;;;;;;;;;;;49694:81:::0;:::o;35154:164::-;35251:4;35275:18;:25;35294:5;35275:25;;;;;;;;;;;;;;;:35;35301:8;35275:35;;;;;;;;;;;;;;;;;;;;;;;;;35268:42;;35154:164;;;;:::o;49458:127::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;49546:33:::1;49556:9;49567:11;49546:9;:33::i;:::-;49458:127:::0;;:::o;7920:201::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8029:1:::1;8009:22;;:8;:22;;::::0;8001:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8085:28;8104:8;8085:18;:28::i;:::-;7920:201:::0;:::o;50100:98::-;7242:12;:10;:12::i;:::-;7231:23;;:7;:5;:7::i;:::-;:23;;;7223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;50181:11:::1;50168:10;:24;;;;50100:98:::0;:::o;29904:305::-;30006:4;30058:25;30043:40;;;:11;:40;;;;:105;;;;30115:33;30100:48;;;:11;:48;;;;30043:105;:158;;;;30165:36;30189:11;30165:23;:36::i;:::-;30043:158;30023:178;;29904:305;;;:::o;5735:98::-;5788:7;5815:10;5808:17;;5735:98;:::o;36506:174::-;36563:4;36606:7;36587:15;:13;:15::i;:::-;:26;;:53;;;;;36627:13;;36617:7;:23;36587:53;:85;;;;;36645:11;:20;36657:7;36645:20;;;;;;;;;;;:27;;;;;;;;;;;;36644:28;36587:85;36580:92;;36506:174;;;:::o;44663:196::-;44805:2;44778:15;:24;44794:7;44778:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;44843:7;44839:2;44823:28;;44832:5;44823:28;;;;;;;;;;;;44663:196;;;:::o;49592:95::-;49657:7;49680:1;49673:8;;49592:95;:::o;39606:2130::-;39721:35;39759:21;39772:7;39759:12;:21::i;:::-;39721:59;;39819:4;39797:26;;:13;:18;;;:26;;;39793:67;;39832:28;;;;;;;;;;;;;;39793:67;39873:22;39915:4;39899:20;;:12;:10;:12::i;:::-;:20;;;:73;;;;39936:36;39953:4;39959:12;:10;:12::i;:::-;39936:16;:36::i;:::-;39899:73;:126;;;;40013:12;:10;:12::i;:::-;39989:36;;:20;40001:7;39989:11;:20::i;:::-;:36;;;39899:126;39873:153;;40044:17;40039:66;;40070:35;;;;;;;;;;;;;;40039:66;40134:1;40120:16;;:2;:16;;;40116:52;;40145:23;;;;;;;;;;;;;;40116:52;40181:43;40203:4;40209:2;40213:7;40222:1;40181:21;:43::i;:::-;40289:35;40306:1;40310:7;40319:4;40289:8;:35::i;:::-;40650:1;40620:12;:18;40633:4;40620:18;;;;;;;;;;;;;;;:26;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40694:1;40666:12;:16;40679:2;40666:16;;;;;;;;;;;;;;;:24;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40712:31;40746:11;:20;40758:7;40746:20;;;;;;;;;;;40712:54;;40797:2;40781:8;:13;;;:18;;;;;;;;;;;;;;;;;;40847:15;40814:8;:23;;;:49;;;;;;;;;;;;;;;;;;41115:19;41147:1;41137:7;:11;41115:33;;41163:31;41197:11;:24;41209:11;41197:24;;;;;;;;;;;41163:58;;41265:1;41240:27;;:8;:13;;;;;;;;;;;;:27;;;41236:384;;41450:13;;41435:11;:28;41431:174;;41504:4;41488:8;:13;;;:20;;;;;;;;;;;;;;;;;;41557:13;:28;;;41531:8;:23;;;:54;;;;;;;;;;;;;;;;;;41431:174;41236:384;40595:1036;;;41667:7;41663:2;41648:27;;41657:4;41648:27;;;;;;;;;;;;41686:42;41707:4;41713:2;41717:7;41726:1;41686:20;:42::i;:::-;39710:2026;;39606:2130;;;:::o;31654:1109::-;31716:21;;:::i;:::-;31750:12;31765:7;31750:22;;31833:4;31814:15;:13;:15::i;:::-;:23;;:47;;;;;31848:13;;31841:4;:20;31814:47;31810:886;;;31882:31;31916:11;:17;31928:4;31916:17;;;;;;;;;;;31882:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31957:9;:16;;;31952:729;;32028:1;32002:28;;:9;:14;;;:28;;;31998:101;;32066:9;32059:16;;;;;;31998:101;32401:261;32408:4;32401:261;;;32441:6;;;;;;;;32486:11;:17;32498:4;32486:17;;;;;;;;;;;32474:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32560:1;32534:28;;:9;:14;;;:28;;;32530:109;;32602:9;32595:16;;;;;;32530:109;32401:261;;;31952:729;31863:833;31810:886;32724:31;;;;;;;;;;;;;;31654:1109;;;;:::o;8281:191::-;8355:16;8374:6;;;;;;;;;;;8355:25;;8400:8;8391:6;;:17;;;;;;;;;;;;;;;;;;8455:8;8424:40;;8445:8;8424:40;;;;;;;;;;;;8344:128;8281:191;:::o;36688:104::-;36757:27;36767:2;36771:8;36757:27;;;;;;;;;;;;:9;:27::i;:::-;36688:104;;:::o;9712:326::-;9772:4;10029:1;10007:7;:19;;;:23;10000:30;;9712:326;;;:::o;45351:667::-;45514:4;45551:2;45535:36;;;45572:12;:10;:12::i;:::-;45586:4;45592:7;45601:5;45535:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;45531:480;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45786:1;45769:6;:13;:18;45765:235;;45815:40;;;;;;;;;;;;;;45765:235;45958:6;45952:13;45943:6;45939:2;45935:15;45928:38;45531:480;45664:45;;;45654:55;;;:6;:55;;;;45647:62;;;45351:667;;;;;;:::o;50809:110::-;50869:13;50900;50893:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50809:110;:::o;3297:723::-;3353:13;3583:1;3574:5;:10;3570:53;;3601:10;;;;;;;;;;;;;;;;;;;;;3570:53;3633:12;3648:5;3633:20;;3664:14;3689:78;3704:1;3696:4;:9;3689:78;;3722:8;;;;;:::i;:::-;;;;3753:2;3745:10;;;;;:::i;:::-;;;3689:78;;;3777:19;3809:6;3799:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3777:39;;3827:154;3843:1;3834:5;:10;3827:154;;3871:1;3861:11;;;;;:::i;:::-;;;3938:2;3930:5;:10;;;;:::i;:::-;3917:2;:24;;;;:::i;:::-;3904:39;;3887:6;3894;3887:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;3967:2;3958:11;;;;;:::i;:::-;;;3827:154;;;4005:6;3991:21;;;;;3297:723;;;;:::o;19795:157::-;19880:4;19919:25;19904:40;;;:11;:40;;;;19897:47;;19795:157;;;:::o;46666:159::-;;;;;:::o;47484:158::-;;;;;:::o;37155:163::-;37278:32;37284:2;37288:8;37298:5;37305:4;37278:5;:32::i;:::-;37155:163;;;:::o;37577:1775::-;37716:20;37739:13;;37716:36;;37781:1;37767:16;;:2;:16;;;37763:48;;37792:19;;;;;;;;;;;;;;37763:48;37838:1;37826:8;:13;37822:44;;37848:18;;;;;;;;;;;;;;37822:44;37879:61;37909:1;37913:2;37917:12;37931:8;37879:21;:61::i;:::-;38252:8;38217:12;:16;38230:2;38217:16;;;;;;;;;;;;;;;:24;;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38316:8;38276:12;:16;38289:2;38276:16;;;;;;;;;;;;;;;:29;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38375:2;38342:11;:25;38354:12;38342:25;;;;;;;;;;;:30;;;:35;;;;;;;;;;;;;;;;;;38442:15;38392:11;:25;38404:12;38392:25;;;;;;;;;;;:40;;;:66;;;;;;;;;;;;;;;;;;38475:20;38498:12;38475:35;;38525:11;38554:8;38539:12;:23;38525:37;;38583:4;:23;;;;;38591:15;:2;:13;;;:15::i;:::-;38583:23;38579:641;;;38627:314;38683:12;38679:2;38658:38;;38675:1;38658:38;;;;;;;;;;;;38724:69;38763:1;38767:2;38771:14;;;;;;38787:5;38724:30;:69::i;:::-;38719:174;;38829:40;;;;;;;;;;;;;;38719:174;38936:3;38920:12;:19;38627:314;;39022:12;39005:13;;:29;39001:43;;39036:8;;;39001:43;38579:641;;;39085:120;39141:14;;;;;;39137:2;39116:40;;39133:1;39116:40;;;;;;;;;;;;39200:3;39184:12;:19;39085:120;;38579:641;39250:12;39234:13;:28;;;;38192:1082;;39284:60;39313:1;39317:2;39321:12;39335:8;39284:20;:60::i;:::-;37705:1647;37577:1775;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:126::-;1555:7;1595:42;1588:5;1584:54;1573:65;;1518:126;;;:::o;1650:96::-;1687:7;1716:24;1734:5;1716:24;:::i;:::-;1705:35;;1650:96;;;:::o;1752:122::-;1825:24;1843:5;1825:24;:::i;:::-;1818:5;1815:35;1805:63;;1864:1;1861;1854:12;1805:63;1752:122;:::o;1880:139::-;1926:5;1964:6;1951:20;1942:29;;1980:33;2007:5;1980:33;:::i;:::-;1880:139;;;;:::o;2025:109::-;2061:7;2101:26;2094:5;2090:38;2079:49;;2025:109;;;:::o;2140:120::-;2212:23;2229:5;2212:23;:::i;:::-;2205:5;2202:34;2192:62;;2250:1;2247;2240:12;2192:62;2140:120;:::o;2266:137::-;2311:5;2349:6;2336:20;2327:29;;2365:32;2391:5;2365:32;:::i;:::-;2266:137;;;;:::o;2409:472::-;2476:6;2484;2533:2;2521:9;2512:7;2508:23;2504:32;2501:119;;;2539:79;;:::i;:::-;2501:119;2659:1;2684:53;2729:7;2720:6;2709:9;2705:22;2684:53;:::i;:::-;2674:63;;2630:117;2786:2;2812:52;2856:7;2847:6;2836:9;2832:22;2812:52;:::i;:::-;2802:62;;2757:117;2409:472;;;;;:::o;2887:99::-;2939:6;2973:5;2967:12;2957:22;;2887:99;;;:::o;2992:169::-;3076:11;3110:6;3105:3;3098:19;3150:4;3145:3;3141:14;3126:29;;2992:169;;;;:::o;3167:139::-;3256:6;3251:3;3246;3240:23;3297:1;3288:6;3283:3;3279:16;3272:27;3167:139;;;:::o;3312:102::-;3353:6;3404:2;3400:7;3395:2;3388:5;3384:14;3380:28;3370:38;;3312:102;;;:::o;3420:377::-;3508:3;3536:39;3569:5;3536:39;:::i;:::-;3591:71;3655:6;3650:3;3591:71;:::i;:::-;3584:78;;3671:65;3729:6;3724:3;3717:4;3710:5;3706:16;3671:65;:::i;:::-;3761:29;3783:6;3761:29;:::i;:::-;3756:3;3752:39;3745:46;;3512:285;3420:377;;;;:::o;3803:313::-;3916:4;3954:2;3943:9;3939:18;3931:26;;4003:9;3997:4;3993:20;3989:1;3978:9;3974:17;3967:47;4031:78;4104:4;4095:6;4031:78;:::i;:::-;4023:86;;3803:313;;;;:::o;4122:77::-;4159:7;4188:5;4177:16;;4122:77;;;:::o;4205:122::-;4278:24;4296:5;4278:24;:::i;:::-;4271:5;4268:35;4258:63;;4317:1;4314;4307:12;4258:63;4205:122;:::o;4333:139::-;4379:5;4417:6;4404:20;4395:29;;4433:33;4460:5;4433:33;:::i;:::-;4333:139;;;;:::o;4478:329::-;4537:6;4586:2;4574:9;4565:7;4561:23;4557:32;4554:119;;;4592:79;;:::i;:::-;4554:119;4712:1;4737:53;4782:7;4773:6;4762:9;4758:22;4737:53;:::i;:::-;4727:63;;4683:117;4478:329;;;;:::o;4813:118::-;4900:24;4918:5;4900:24;:::i;:::-;4895:3;4888:37;4813:118;;:::o;4937:222::-;5030:4;5068:2;5057:9;5053:18;5045:26;;5081:71;5149:1;5138:9;5134:17;5125:6;5081:71;:::i;:::-;4937:222;;;;:::o;5165:474::-;5233:6;5241;5290:2;5278:9;5269:7;5265:23;5261:32;5258:119;;;5296:79;;:::i;:::-;5258:119;5416:1;5441:53;5486:7;5477:6;5466:9;5462:22;5441:53;:::i;:::-;5431:63;;5387:117;5543:2;5569:53;5614:7;5605:6;5594:9;5590:22;5569:53;:::i;:::-;5559:63;;5514:118;5165:474;;;;;:::o;5645:118::-;5732:24;5750:5;5732:24;:::i;:::-;5727:3;5720:37;5645:118;;:::o;5769:222::-;5862:4;5900:2;5889:9;5885:18;5877:26;;5913:71;5981:1;5970:9;5966:17;5957:6;5913:71;:::i;:::-;5769:222;;;;:::o;5997:116::-;6067:21;6082:5;6067:21;:::i;:::-;6060:5;6057:32;6047:60;;6103:1;6100;6093:12;6047:60;5997:116;:::o;6119:133::-;6162:5;6200:6;6187:20;6178:29;;6216:30;6240:5;6216:30;:::i;:::-;6119:133;;;;:::o;6258:323::-;6314:6;6363:2;6351:9;6342:7;6338:23;6334:32;6331:119;;;6369:79;;:::i;:::-;6331:119;6489:1;6514:50;6556:7;6547:6;6536:9;6532:22;6514:50;:::i;:::-;6504:60;;6460:114;6258:323;;;;:::o;6587:619::-;6664:6;6672;6680;6729:2;6717:9;6708:7;6704:23;6700:32;6697:119;;;6735:79;;:::i;:::-;6697:119;6855:1;6880:53;6925:7;6916:6;6905:9;6901:22;6880:53;:::i;:::-;6870:63;;6826:117;6982:2;7008:53;7053:7;7044:6;7033:9;7029:22;7008:53;:::i;:::-;6998:63;;6953:118;7110:2;7136:53;7181:7;7172:6;7161:9;7157:22;7136:53;:::i;:::-;7126:63;;7081:118;6587:619;;;;;:::o;7212:474::-;7280:6;7288;7337:2;7325:9;7316:7;7312:23;7308:32;7305:119;;;7343:79;;:::i;:::-;7305:119;7463:1;7488:53;7533:7;7524:6;7513:9;7509:22;7488:53;:::i;:::-;7478:63;;7434:117;7590:2;7616:53;7661:7;7652:6;7641:9;7637:22;7616:53;:::i;:::-;7606:63;;7561:118;7212:474;;;;;:::o;7692:332::-;7813:4;7851:2;7840:9;7836:18;7828:26;;7864:71;7932:1;7921:9;7917:17;7908:6;7864:71;:::i;:::-;7945:72;8013:2;8002:9;7998:18;7989:6;7945:72;:::i;:::-;7692:332;;;;;:::o;8030:117::-;8139:1;8136;8129:12;8153:117;8262:1;8259;8252:12;8276:180;8324:77;8321:1;8314:88;8421:4;8418:1;8411:15;8445:4;8442:1;8435:15;8462:281;8545:27;8567:4;8545:27;:::i;:::-;8537:6;8533:40;8675:6;8663:10;8660:22;8639:18;8627:10;8624:34;8621:62;8618:88;;;8686:18;;:::i;:::-;8618:88;8726:10;8722:2;8715:22;8505:238;8462:281;;:::o;8749:129::-;8783:6;8810:20;;:::i;:::-;8800:30;;8839:33;8867:4;8859:6;8839:33;:::i;:::-;8749:129;;;:::o;8884:308::-;8946:4;9036:18;9028:6;9025:30;9022:56;;;9058:18;;:::i;:::-;9022:56;9096:29;9118:6;9096:29;:::i;:::-;9088:37;;9180:4;9174;9170:15;9162:23;;8884:308;;;:::o;9198:148::-;9296:6;9291:3;9286;9273:30;9337:1;9328:6;9323:3;9319:16;9312:27;9198:148;;;:::o;9352:425::-;9430:5;9455:66;9471:49;9513:6;9471:49;:::i;:::-;9455:66;:::i;:::-;9446:75;;9544:6;9537:5;9530:21;9582:4;9575:5;9571:16;9620:3;9611:6;9606:3;9602:16;9599:25;9596:112;;;9627:79;;:::i;:::-;9596:112;9717:54;9764:6;9759:3;9754;9717:54;:::i;:::-;9436:341;9352:425;;;;;:::o;9797:340::-;9853:5;9902:3;9895:4;9887:6;9883:17;9879:27;9869:122;;9910:79;;:::i;:::-;9869:122;10027:6;10014:20;10052:79;10127:3;10119:6;10112:4;10104:6;10100:17;10052:79;:::i;:::-;10043:88;;9859:278;9797:340;;;;:::o;10143:509::-;10212:6;10261:2;10249:9;10240:7;10236:23;10232:32;10229:119;;;10267:79;;:::i;:::-;10229:119;10415:1;10404:9;10400:17;10387:31;10445:18;10437:6;10434:30;10431:117;;;10467:79;;:::i;:::-;10431:117;10572:63;10627:7;10618:6;10607:9;10603:22;10572:63;:::i;:::-;10562:73;;10358:287;10143:509;;;;:::o;10658:117::-;10767:1;10764;10757:12;10781:117;10890:1;10887;10880:12;10918:553;10976:8;10986:6;11036:3;11029:4;11021:6;11017:17;11013:27;11003:122;;11044:79;;:::i;:::-;11003:122;11157:6;11144:20;11134:30;;11187:18;11179:6;11176:30;11173:117;;;11209:79;;:::i;:::-;11173:117;11323:4;11315:6;11311:17;11299:29;;11377:3;11369:4;11361:6;11357:17;11347:8;11343:32;11340:41;11337:128;;;11384:79;;:::i;:::-;11337:128;10918:553;;;;;:::o;11477:529::-;11548:6;11556;11605:2;11593:9;11584:7;11580:23;11576:32;11573:119;;;11611:79;;:::i;:::-;11573:119;11759:1;11748:9;11744:17;11731:31;11789:18;11781:6;11778:30;11775:117;;;11811:79;;:::i;:::-;11775:117;11924:65;11981:7;11972:6;11961:9;11957:22;11924:65;:::i;:::-;11906:83;;;;11702:297;11477:529;;;;;:::o;12012:329::-;12071:6;12120:2;12108:9;12099:7;12095:23;12091:32;12088:119;;;12126:79;;:::i;:::-;12088:119;12246:1;12271:53;12316:7;12307:6;12296:9;12292:22;12271:53;:::i;:::-;12261:63;;12217:117;12012:329;;;;:::o;12347:468::-;12412:6;12420;12469:2;12457:9;12448:7;12444:23;12440:32;12437:119;;;12475:79;;:::i;:::-;12437:119;12595:1;12620:53;12665:7;12656:6;12645:9;12641:22;12620:53;:::i;:::-;12610:63;;12566:117;12722:2;12748:50;12790:7;12781:6;12770:9;12766:22;12748:50;:::i;:::-;12738:60;;12693:115;12347:468;;;;;:::o;12821:307::-;12882:4;12972:18;12964:6;12961:30;12958:56;;;12994:18;;:::i;:::-;12958:56;13032:29;13054:6;13032:29;:::i;:::-;13024:37;;13116:4;13110;13106:15;13098:23;;12821:307;;;:::o;13134:423::-;13211:5;13236:65;13252:48;13293:6;13252:48;:::i;:::-;13236:65;:::i;:::-;13227:74;;13324:6;13317:5;13310:21;13362:4;13355:5;13351:16;13400:3;13391:6;13386:3;13382:16;13379:25;13376:112;;;13407:79;;:::i;:::-;13376:112;13497:54;13544:6;13539:3;13534;13497:54;:::i;:::-;13217:340;13134:423;;;;;:::o;13576:338::-;13631:5;13680:3;13673:4;13665:6;13661:17;13657:27;13647:122;;13688:79;;:::i;:::-;13647:122;13805:6;13792:20;13830:78;13904:3;13896:6;13889:4;13881:6;13877:17;13830:78;:::i;:::-;13821:87;;13637:277;13576:338;;;;:::o;13920:943::-;14015:6;14023;14031;14039;14088:3;14076:9;14067:7;14063:23;14059:33;14056:120;;;14095:79;;:::i;:::-;14056:120;14215:1;14240:53;14285:7;14276:6;14265:9;14261:22;14240:53;:::i;:::-;14230:63;;14186:117;14342:2;14368:53;14413:7;14404:6;14393:9;14389:22;14368:53;:::i;:::-;14358:63;;14313:118;14470:2;14496:53;14541:7;14532:6;14521:9;14517:22;14496:53;:::i;:::-;14486:63;;14441:118;14626:2;14615:9;14611:18;14598:32;14657:18;14649:6;14646:30;14643:117;;;14679:79;;:::i;:::-;14643:117;14784:62;14838:7;14829:6;14818:9;14814:22;14784:62;:::i;:::-;14774:72;;14569:287;13920:943;;;;;;;:::o;14869:474::-;14937:6;14945;14994:2;14982:9;14973:7;14969:23;14965:32;14962:119;;;15000:79;;:::i;:::-;14962:119;15120:1;15145:53;15190:7;15181:6;15170:9;15166:22;15145:53;:::i;:::-;15135:63;;15091:117;15247:2;15273:53;15318:7;15309:6;15298:9;15294:22;15273:53;:::i;:::-;15263:63;;15218:118;14869:474;;;;;:::o;15349:::-;15417:6;15425;15474:2;15462:9;15453:7;15449:23;15445:32;15442:119;;;15480:79;;:::i;:::-;15442:119;15600:1;15625:53;15670:7;15661:6;15650:9;15646:22;15625:53;:::i;:::-;15615:63;;15571:117;15727:2;15753:53;15798:7;15789:6;15778:9;15774:22;15753:53;:::i;:::-;15743:63;;15698:118;15349:474;;;;;:::o;15829:182::-;15969:34;15965:1;15957:6;15953:14;15946:58;15829:182;:::o;16017:366::-;16159:3;16180:67;16244:2;16239:3;16180:67;:::i;:::-;16173:74;;16256:93;16345:3;16256:93;:::i;:::-;16374:2;16369:3;16365:12;16358:19;;16017:366;;;:::o;16389:419::-;16555:4;16593:2;16582:9;16578:18;16570:26;;16642:9;16636:4;16632:20;16628:1;16617:9;16613:17;16606:47;16670:131;16796:4;16670:131;:::i;:::-;16662:139;;16389:419;;;:::o;16814:166::-;16954:18;16950:1;16942:6;16938:14;16931:42;16814:166;:::o;16986:366::-;17128:3;17149:67;17213:2;17208:3;17149:67;:::i;:::-;17142:74;;17225:93;17314:3;17225:93;:::i;:::-;17343:2;17338:3;17334:12;17327:19;;16986:366;;;:::o;17358:419::-;17524:4;17562:2;17551:9;17547:18;17539:26;;17611:9;17605:4;17601:20;17597:1;17586:9;17582:17;17575:47;17639:131;17765:4;17639:131;:::i;:::-;17631:139;;17358:419;;;:::o;17783:180::-;17831:77;17828:1;17821:88;17928:4;17925:1;17918:15;17952:4;17949:1;17942:15;17969:320;18013:6;18050:1;18044:4;18040:12;18030:22;;18097:1;18091:4;18087:12;18118:18;18108:81;;18174:4;18166:6;18162:17;18152:27;;18108:81;18236:2;18228:6;18225:14;18205:18;18202:38;18199:84;;18255:18;;:::i;:::-;18199:84;18020:269;17969:320;;;:::o;18295:180::-;18343:77;18340:1;18333:88;18440:4;18437:1;18430:15;18464:4;18461:1;18454:15;18481:410;18521:7;18544:20;18562:1;18544:20;:::i;:::-;18539:25;;18578:20;18596:1;18578:20;:::i;:::-;18573:25;;18633:1;18630;18626:9;18655:30;18673:11;18655:30;:::i;:::-;18644:41;;18834:1;18825:7;18821:15;18818:1;18815:22;18795:1;18788:9;18768:83;18745:139;;18864:18;;:::i;:::-;18745:139;18529:362;18481:410;;;;:::o;18897:180::-;18945:77;18942:1;18935:88;19042:4;19039:1;19032:15;19066:4;19063:1;19056:15;19083:185;19123:1;19140:20;19158:1;19140:20;:::i;:::-;19135:25;;19174:20;19192:1;19174:20;:::i;:::-;19169:25;;19213:1;19203:35;;19218:18;;:::i;:::-;19203:35;19260:1;19257;19253:9;19248:14;;19083:185;;;;:::o;19274:181::-;19414:33;19410:1;19402:6;19398:14;19391:57;19274:181;:::o;19461:366::-;19603:3;19624:67;19688:2;19683:3;19624:67;:::i;:::-;19617:74;;19700:93;19789:3;19700:93;:::i;:::-;19818:2;19813:3;19809:12;19802:19;;19461:366;;;:::o;19833:419::-;19999:4;20037:2;20026:9;20022:18;20014:26;;20086:9;20080:4;20076:20;20072:1;20061:9;20057:17;20050:47;20114:131;20240:4;20114:131;:::i;:::-;20106:139;;19833:419;;;:::o;20258:147::-;20359:11;20396:3;20381:18;;20258:147;;;;:::o;20411:114::-;;:::o;20531:398::-;20690:3;20711:83;20792:1;20787:3;20711:83;:::i;:::-;20704:90;;20803:93;20892:3;20803:93;:::i;:::-;20921:1;20916:3;20912:11;20905:18;;20531:398;;;:::o;20935:379::-;21119:3;21141:147;21284:3;21141:147;:::i;:::-;21134:154;;21305:3;21298:10;;20935:379;;;:::o;21320:141::-;21369:4;21392:3;21384:11;;21415:3;21412:1;21405:14;21449:4;21446:1;21436:18;21428:26;;21320:141;;;:::o;21467:93::-;21504:6;21551:2;21546;21539:5;21535:14;21531:23;21521:33;;21467:93;;;:::o;21566:107::-;21610:8;21660:5;21654:4;21650:16;21629:37;;21566:107;;;;:::o;21679:393::-;21748:6;21798:1;21786:10;21782:18;21821:97;21851:66;21840:9;21821:97;:::i;:::-;21939:39;21969:8;21958:9;21939:39;:::i;:::-;21927:51;;22011:4;22007:9;22000:5;21996:21;21987:30;;22060:4;22050:8;22046:19;22039:5;22036:30;22026:40;;21755:317;;21679:393;;;;;:::o;22078:60::-;22106:3;22127:5;22120:12;;22078:60;;;:::o;22144:142::-;22194:9;22227:53;22245:34;22254:24;22272:5;22254:24;:::i;:::-;22245:34;:::i;:::-;22227:53;:::i;:::-;22214:66;;22144:142;;;:::o;22292:75::-;22335:3;22356:5;22349:12;;22292:75;;;:::o;22373:269::-;22483:39;22514:7;22483:39;:::i;:::-;22544:91;22593:41;22617:16;22593:41;:::i;:::-;22585:6;22578:4;22572:11;22544:91;:::i;:::-;22538:4;22531:105;22449:193;22373:269;;;:::o;22648:73::-;22693:3;22648:73;:::o;22727:189::-;22804:32;;:::i;:::-;22845:65;22903:6;22895;22889:4;22845:65;:::i;:::-;22780:136;22727:189;;:::o;22922:186::-;22982:120;22999:3;22992:5;22989:14;22982:120;;;23053:39;23090:1;23083:5;23053:39;:::i;:::-;23026:1;23019:5;23015:13;23006:22;;22982:120;;;22922:186;;:::o;23114:543::-;23215:2;23210:3;23207:11;23204:446;;;23249:38;23281:5;23249:38;:::i;:::-;23333:29;23351:10;23333:29;:::i;:::-;23323:8;23319:44;23516:2;23504:10;23501:18;23498:49;;;23537:8;23522:23;;23498:49;23560:80;23616:22;23634:3;23616:22;:::i;:::-;23606:8;23602:37;23589:11;23560:80;:::i;:::-;23219:431;;23204:446;23114:543;;;:::o;23663:117::-;23717:8;23767:5;23761:4;23757:16;23736:37;;23663:117;;;;:::o;23786:169::-;23830:6;23863:51;23911:1;23907:6;23899:5;23896:1;23892:13;23863:51;:::i;:::-;23859:56;23944:4;23938;23934:15;23924:25;;23837:118;23786:169;;;;:::o;23960:295::-;24036:4;24182:29;24207:3;24201:4;24182:29;:::i;:::-;24174:37;;24244:3;24241:1;24237:11;24231:4;24228:21;24220:29;;23960:295;;;;:::o;24260:1395::-;24377:37;24410:3;24377:37;:::i;:::-;24479:18;24471:6;24468:30;24465:56;;;24501:18;;:::i;:::-;24465:56;24545:38;24577:4;24571:11;24545:38;:::i;:::-;24630:67;24690:6;24682;24676:4;24630:67;:::i;:::-;24724:1;24748:4;24735:17;;24780:2;24772:6;24769:14;24797:1;24792:618;;;;25454:1;25471:6;25468:77;;;25520:9;25515:3;25511:19;25505:26;25496:35;;25468:77;25571:67;25631:6;25624:5;25571:67;:::i;:::-;25565:4;25558:81;25427:222;24762:887;;24792:618;24844:4;24840:9;24832:6;24828:22;24878:37;24910:4;24878:37;:::i;:::-;24937:1;24951:208;24965:7;24962:1;24959:14;24951:208;;;25044:9;25039:3;25035:19;25029:26;25021:6;25014:42;25095:1;25087:6;25083:14;25073:24;;25142:2;25131:9;25127:18;25114:31;;24988:4;24985:1;24981:12;24976:17;;24951:208;;;25187:6;25178:7;25175:19;25172:179;;;25245:9;25240:3;25236:19;25230:26;25288:48;25330:4;25322:6;25318:17;25307:9;25288:48;:::i;:::-;25280:6;25273:64;25195:156;25172:179;25397:1;25393;25385:6;25381:14;25377:22;25371:4;25364:36;24799:611;;;24762:887;;24352:1303;;;24260:1395;;:::o;25661:97::-;25720:6;25748:3;25738:13;;25661:97;;;;:::o;25764:1403::-;25888:44;25928:3;25923;25888:44;:::i;:::-;25997:18;25989:6;25986:30;25983:56;;;26019:18;;:::i;:::-;25983:56;26063:38;26095:4;26089:11;26063:38;:::i;:::-;26148:67;26208:6;26200;26194:4;26148:67;:::i;:::-;26242:1;26271:2;26263:6;26260:14;26288:1;26283:632;;;;26959:1;26976:6;26973:84;;;27032:9;27027:3;27023:19;27010:33;27001:42;;26973:84;27083:67;27143:6;27136:5;27083:67;:::i;:::-;27077:4;27070:81;26932:229;26253:908;;26283:632;26335:4;26331:9;26323:6;26319:22;26369:37;26401:4;26369:37;:::i;:::-;26428:1;26442:215;26456:7;26453:1;26450:14;26442:215;;;26542:9;26537:3;26533:19;26520:33;26512:6;26505:49;26593:1;26585:6;26581:14;26571:24;;26640:2;26629:9;26625:18;26612:31;;26479:4;26476:1;26472:12;26467:17;;26442:215;;;26685:6;26676:7;26673:19;26670:186;;;26750:9;26745:3;26741:19;26728:33;26793:48;26835:4;26827:6;26823:17;26812:9;26793:48;:::i;:::-;26785:6;26778:64;26693:163;26670:186;26902:1;26898;26890:6;26886:14;26882:22;26876:4;26869:36;26290:625;;;26253:908;;25863:1304;;;25764:1403;;;:::o;27173:175::-;27313:27;27309:1;27301:6;27297:14;27290:51;27173:175;:::o;27354:366::-;27496:3;27517:67;27581:2;27576:3;27517:67;:::i;:::-;27510:74;;27593:93;27682:3;27593:93;:::i;:::-;27711:2;27706:3;27702:12;27695:19;;27354:366;;;:::o;27726:419::-;27892:4;27930:2;27919:9;27915:18;27907:26;;27979:9;27973:4;27969:20;27965:1;27954:9;27950:17;27943:47;28007:131;28133:4;28007:131;:::i;:::-;27999:139;;27726:419;;;:::o;28151:170::-;28291:22;28287:1;28279:6;28275:14;28268:46;28151:170;:::o;28327:366::-;28469:3;28490:67;28554:2;28549:3;28490:67;:::i;:::-;28483:74;;28566:93;28655:3;28566:93;:::i;:::-;28684:2;28679:3;28675:12;28668:19;;28327:366;;;:::o;28699:419::-;28865:4;28903:2;28892:9;28888:18;28880:26;;28952:9;28946:4;28942:20;28938:1;28927:9;28923:17;28916:47;28980:131;29106:4;28980:131;:::i;:::-;28972:139;;28699:419;;;:::o;29124:191::-;29164:3;29183:20;29201:1;29183:20;:::i;:::-;29178:25;;29217:20;29235:1;29217:20;:::i;:::-;29212:25;;29260:1;29257;29253:9;29246:16;;29281:3;29278:1;29275:10;29272:36;;;29288:18;;:::i;:::-;29272:36;29124:191;;;;:::o;29321:170::-;29461:22;29457:1;29449:6;29445:14;29438:46;29321:170;:::o;29497:366::-;29639:3;29660:67;29724:2;29719:3;29660:67;:::i;:::-;29653:74;;29736:93;29825:3;29736:93;:::i;:::-;29854:2;29849:3;29845:12;29838:19;;29497:366;;;:::o;29869:419::-;30035:4;30073:2;30062:9;30058:18;30050:26;;30122:9;30116:4;30112:20;30108:1;30097:9;30093:17;30086:47;30150:131;30276:4;30150:131;:::i;:::-;30142:139;;29869:419;;;:::o;30294:173::-;30434:25;30430:1;30422:6;30418:14;30411:49;30294:173;:::o;30473:366::-;30615:3;30636:67;30700:2;30695:3;30636:67;:::i;:::-;30629:74;;30712:93;30801:3;30712:93;:::i;:::-;30830:2;30825:3;30821:12;30814:19;;30473:366;;;:::o;30845:419::-;31011:4;31049:2;31038:9;31034:18;31026:26;;31098:9;31092:4;31088:20;31084:1;31073:9;31069:17;31062:47;31126:131;31252:4;31126:131;:::i;:::-;31118:139;;30845:419;;;:::o;31270:143::-;31327:5;31358:6;31352:13;31343:22;;31374:33;31401:5;31374:33;:::i;:::-;31270:143;;;;:::o;31419:351::-;31489:6;31538:2;31526:9;31517:7;31513:23;31509:32;31506:119;;;31544:79;;:::i;:::-;31506:119;31664:1;31689:64;31745:7;31736:6;31725:9;31721:22;31689:64;:::i;:::-;31679:74;;31635:128;31419:351;;;;:::o;31776:194::-;31816:4;31836:20;31854:1;31836:20;:::i;:::-;31831:25;;31870:20;31888:1;31870:20;:::i;:::-;31865:25;;31914:1;31911;31907:9;31899:17;;31938:1;31932:4;31929:11;31926:37;;;31943:18;;:::i;:::-;31926:37;31776:194;;;;:::o;31976:169::-;32116:21;32112:1;32104:6;32100:14;32093:45;31976:169;:::o;32151:366::-;32293:3;32314:67;32378:2;32373:3;32314:67;:::i;:::-;32307:74;;32390:93;32479:3;32390:93;:::i;:::-;32508:2;32503:3;32499:12;32492:19;;32151:366;;;:::o;32523:419::-;32689:4;32727:2;32716:9;32712:18;32704:26;;32776:9;32770:4;32766:20;32762:1;32751:9;32747:17;32740:47;32804:131;32930:4;32804:131;:::i;:::-;32796:139;;32523:419;;;:::o;32948:175::-;33088:27;33084:1;33076:6;33072:14;33065:51;32948:175;:::o;33129:366::-;33271:3;33292:67;33356:2;33351:3;33292:67;:::i;:::-;33285:74;;33368:93;33457:3;33368:93;:::i;:::-;33486:2;33481:3;33477:12;33470:19;;33129:366;;;:::o;33501:419::-;33667:4;33705:2;33694:9;33690:18;33682:26;;33754:9;33748:4;33744:20;33740:1;33729:9;33725:17;33718:47;33782:131;33908:4;33782:131;:::i;:::-;33774:139;;33501:419;;;:::o;33926:169::-;34066:21;34062:1;34054:6;34050:14;34043:45;33926:169;:::o;34101:366::-;34243:3;34264:67;34328:2;34323:3;34264:67;:::i;:::-;34257:74;;34340:93;34429:3;34340:93;:::i;:::-;34458:2;34453:3;34449:12;34442:19;;34101:366;;;:::o;34473:419::-;34639:4;34677:2;34666:9;34662:18;34654:26;;34726:9;34720:4;34716:20;34712:1;34701:9;34697:17;34690:47;34754:131;34880:4;34754:131;:::i;:::-;34746:139;;34473:419;;;:::o;34898:148::-;35000:11;35037:3;35022:18;;34898:148;;;;:::o;35052:390::-;35158:3;35186:39;35219:5;35186:39;:::i;:::-;35241:89;35323:6;35318:3;35241:89;:::i;:::-;35234:96;;35339:65;35397:6;35392:3;35385:4;35378:5;35374:16;35339:65;:::i;:::-;35429:6;35424:3;35420:16;35413:23;;35162:280;35052:390;;;;:::o;35448:435::-;35628:3;35650:95;35741:3;35732:6;35650:95;:::i;:::-;35643:102;;35762:95;35853:3;35844:6;35762:95;:::i;:::-;35755:102;;35874:3;35867:10;;35448:435;;;;;:::o;35889:225::-;36029:34;36025:1;36017:6;36013:14;36006:58;36098:8;36093:2;36085:6;36081:15;36074:33;35889:225;:::o;36120:366::-;36262:3;36283:67;36347:2;36342:3;36283:67;:::i;:::-;36276:74;;36359:93;36448:3;36359:93;:::i;:::-;36477:2;36472:3;36468:12;36461:19;;36120:366;;;:::o;36492:419::-;36658:4;36696:2;36685:9;36681:18;36673:26;;36745:9;36739:4;36735:20;36731:1;36720:9;36716:17;36709:47;36773:131;36899:4;36773:131;:::i;:::-;36765:139;;36492:419;;;:::o;36917:98::-;36968:6;37002:5;36996:12;36986:22;;36917:98;;;:::o;37021:168::-;37104:11;37138:6;37133:3;37126:19;37178:4;37173:3;37169:14;37154:29;;37021:168;;;;:::o;37195:373::-;37281:3;37309:38;37341:5;37309:38;:::i;:::-;37363:70;37426:6;37421:3;37363:70;:::i;:::-;37356:77;;37442:65;37500:6;37495:3;37488:4;37481:5;37477:16;37442:65;:::i;:::-;37532:29;37554:6;37532:29;:::i;:::-;37527:3;37523:39;37516:46;;37285:283;37195:373;;;;:::o;37574:640::-;37769:4;37807:3;37796:9;37792:19;37784:27;;37821:71;37889:1;37878:9;37874:17;37865:6;37821:71;:::i;:::-;37902:72;37970:2;37959:9;37955:18;37946:6;37902:72;:::i;:::-;37984;38052:2;38041:9;38037:18;38028:6;37984:72;:::i;:::-;38103:9;38097:4;38093:20;38088:2;38077:9;38073:18;38066:48;38131:76;38202:4;38193:6;38131:76;:::i;:::-;38123:84;;37574:640;;;;;;;:::o;38220:141::-;38276:5;38307:6;38301:13;38292:22;;38323:32;38349:5;38323:32;:::i;:::-;38220:141;;;;:::o;38367:349::-;38436:6;38485:2;38473:9;38464:7;38460:23;38456:32;38453:119;;;38491:79;;:::i;:::-;38453:119;38611:1;38636:63;38691:7;38682:6;38671:9;38667:22;38636:63;:::i;:::-;38626:73;;38582:127;38367:349;;;;:::o;38722:233::-;38761:3;38784:24;38802:5;38784:24;:::i;:::-;38775:33;;38830:66;38823:5;38820:77;38817:103;;38900:18;;:::i;:::-;38817:103;38947:1;38940:5;38936:13;38929:20;;38722:233;;;:::o;38961:176::-;38993:1;39010:20;39028:1;39010:20;:::i;:::-;39005:25;;39044:20;39062:1;39044:20;:::i;:::-;39039:25;;39083:1;39073:35;;39088:18;;:::i;:::-;39073:35;39129:1;39126;39122:9;39117:14;;38961:176;;;;:::o;39143:180::-;39191:77;39188:1;39181:88;39288:4;39285:1;39278:15;39312:4;39309:1;39302:15

    Swarm Source

    ipfs://3b85a597350d4f25fffabfea9a738f41217eff2c061da4ad2f79870be387549d
    [ Download: CSV Export  ]

    A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.