ETH Price: $2,296.14 (+1.08%)

Token

Bird (BIRD)
 

Overview

Max Total Supply

1,000,000,000 BIRD

Holders

2

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
Transaction Hash Block
Age
Multiplier Status
# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

BIRD

Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled
No with 200 runs
Other Settings
default evmVersion
License
None
Contract Source Code (Solidity)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"uint256","name":"_burnedRatioPerBlock","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","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":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"BalanceToBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REBASER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"burnedEX","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnedRatioPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"internalDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintUnderlying","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_who","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setBurnedEX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnedRatioPerBlock","type":"uint256"}],"name":"setBurnedRatioPerBlock","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":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferUnderlying","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userLastBurnedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
6080604052670de0b6b3a7640000633b9aca006200001e919062000708565b6010553480156200002e57600080fd5b5060405162005d9b38038062005d9b833981810160405281019062000054919062000789565b6040518060400160405280600481526020017f42697264000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f424952440000000000000000000000000000000000000000000000000000000081525081818160059081620000d3919062000a2b565b508060069081620000e5919062000a2b565b5050506200010c6000801b620001006200034960201b60201c565b6200035160201b60201c565b6200014d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6620001416200034960201b60201c565b6200035160201b60201c565b6200018e7f5fde63b561377d1441afa201ff619faac2ff8fed70a7fbdbe7a5cb07768c0b75620001826200034960201b60201c565b6200035160201b60201c565b5050620001b0620001a46200034960201b60201c565b6200036760201b60201c565b601054600d81905550601054601181905550600d54600a6000620001d96200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600960006200022c6200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806008819055506001600c6000620002876200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6010546040516200033a919062000b23565b60405180910390a35062000b40565b600033905090565b6200036382826200045760201b60201c565b5050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200046e82826200049f60201b620023e01760201c565b6200049a81600160008581526020019081526020016000206200059060201b620024c01790919060201c565b505050565b620004b18282620005c860201b60201c565b6200058c57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005316200034960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620005c0836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200063260201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620006468383620006ac60201b60201c565b620006a1578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620006a6565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200071582620006cf565b91506200072283620006cf565b92508282026200073281620006cf565b915082820484148315176200074c576200074b620006d9565b5b5092915050565b600080fd5b6200076381620006cf565b81146200076f57600080fd5b50565b600081519050620007838162000758565b92915050565b600060208284031215620007a257620007a162000753565b5b6000620007b28482850162000772565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200083d57607f821691505b602082108103620008535762000852620007f5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200087e565b620008c986836200087e565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200090c620009066200090084620006cf565b620008e1565b620006cf565b9050919050565b6000819050919050565b6200092883620008eb565b62000940620009378262000913565b8484546200088b565b825550505050565b600090565b6200095762000948565b620009648184846200091d565b505050565b5b818110156200098c57620009806000826200094d565b6001810190506200096a565b5050565b601f821115620009db57620009a58162000859565b620009b0846200086e565b81016020851015620009c0578190505b620009d8620009cf856200086e565b83018262000969565b50505b505050565b600082821c905092915050565b600062000a0060001984600802620009e0565b1980831691505092915050565b600062000a1b8383620009ed565b9150826002028217905092915050565b62000a3682620007bb565b67ffffffffffffffff81111562000a525762000a51620007c6565b5b62000a5e825462000824565b62000a6b82828562000990565b600060209050601f83116001811462000aa3576000841562000a8e578287015190505b62000a9a858262000a0d565b86555062000b0a565b601f19841662000ab38662000859565b60005b8281101562000add5784890151825560018201915060208501945060208101905062000ab6565b8683101562000afd578489015162000af9601f891682620009ed565b8355505b6001600288020188555050505b505050505050565b62000b1d81620006cf565b82525050565b600060208201905062000b3a600083018462000b12565b92915050565b61524b8062000b506000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780639d025482116100ce578063d505accf11610087578063d505accf1461085e578063d53913931461087a578063d547741f14610898578063dd62ed3e146108b4578063ee4ab3c0146108e4578063f2fde38b146109025761027f565b80639d02548214610750578063a217fddf14610780578063a457c2d71461079e578063a9059cbb146107ce578063ca15c873146107fe578063cea9d26f1461082e5761027f565b80638da5cb5b116101205780638da5cb5b146106665780639010d07c14610684578063917505f4146106b457806391d14854146106e457806395d89b411461071457806397d63f93146107325761027f565b806370a08231146105c2578063715018a6146105f257806379cc6790146105fc5780637ecebe001461061857806383eb70e5146106485761027f565b8063313ce567116101f557806339509351116101b957806339509351146104dc5780633af9e6691461050c57806340c10f191461053c57806342966c681461056c5780634351a8751461058857806364dd48f5146105a45761027f565b8063313ce56714610438578063336d2692146104565780633403143a146104865780633644e515146104a257806336568abe146104c05761027f565b806320606b701161024757806320606b701461035057806323b872dd1461036e578063248a9ca31461039e5780632545eb44146103ce5780632f2ff15d146103fe57806330adf81f1461041a5761027f565b806301ffc9a71461028457806306fdde03146102b4578063095ea7b3146102d25780630c0034e71461030257806318160ddd14610332575b600080fd5b61029e60048036038101906102999190613d0f565b61091e565b6040516102ab9190613d57565b60405180910390f35b6102bc610998565b6040516102c99190613e02565b60405180910390f35b6102ec60048036038101906102e79190613eb8565b610a2a565b6040516102f99190613d57565b60405180910390f35b61031c60048036038101906103179190613ef8565b610b1c565b6040516103299190613f34565b60405180910390f35b61033a610b34565b6040516103479190613f34565b60405180910390f35b610358610b3e565b6040516103659190613f68565b60405180910390f35b61038860048036038101906103839190613f83565b610b62565b6040516103959190613d57565b60405180910390f35b6103b860048036038101906103b39190614002565b61103a565b6040516103c59190613f68565b60405180910390f35b6103e860048036038101906103e39190613ef8565b611059565b6040516103f59190613d57565b60405180910390f35b6104186004803603810190610413919061402f565b611079565b005b61042261109a565b60405161042f9190613f68565b60405180910390f35b6104406110be565b60405161044d919061408b565b60405180910390f35b610470600480360381019061046b9190613eb8565b6110c7565b60405161047d9190613d57565b60405180910390f35b6104a0600480360381019061049b91906140d2565b611357565b005b6104aa6113ba565b6040516104b79190613f68565b60405180910390f35b6104da60048036038101906104d5919061402f565b6113c0565b005b6104f660048036038101906104f19190613eb8565b611443565b6040516105039190613d57565b60405180910390f35b61052660048036038101906105219190613ef8565b61163f565b6040516105339190613f34565b60405180910390f35b61055660048036038101906105519190613eb8565b611688565b6040516105639190613d57565b60405180910390f35b61058660048036038101906105819190614112565b61170e565b005b6105a2600480360381019061059d9190614112565b61171a565b005b6105ac61172c565b6040516105b99190613f34565b60405180910390f35b6105dc60048036038101906105d79190613ef8565b611738565b6040516105e99190613f34565b60405180910390f35b6105fa61174a565b005b61061660048036038101906106119190613eb8565b61175e565b005b610632600480360381019061062d9190613ef8565b61177e565b60405161063f9190613f34565b60405180910390f35b610650611796565b60405161065d9190613f68565b60405180910390f35b61066e6117ba565b60405161067b919061414e565b60405180910390f35b61069e60048036038101906106999190614169565b6117e4565b6040516106ab919061414e565b60405180910390f35b6106ce60048036038101906106c99190613eb8565b611813565b6040516106db9190613d57565b60405180910390f35b6106fe60048036038101906106f9919061402f565b611899565b60405161070b9190613d57565b60405180910390f35b61071c611903565b6040516107299190613e02565b60405180910390f35b61073a611995565b6040516107479190613f34565b60405180910390f35b61076a60048036038101906107659190613ef8565b61199b565b6040516107779190613f34565b60405180910390f35b6107886119ad565b6040516107959190613f68565b60405180910390f35b6107b860048036038101906107b39190613eb8565b6119b4565b6040516107c59190613d57565b60405180910390f35b6107e860048036038101906107e39190613eb8565b611c44565b6040516107f59190613d57565b60405180910390f35b61081860048036038101906108139190614002565b611f17565b6040516108259190613f34565b60405180910390f35b61084860048036038101906108439190613f83565b611f3b565b6040516108559190613d57565b60405180910390f35b610878600480360381019061087391906141d5565b611f5b565b005b61088261228b565b60405161088f9190613f68565b60405180910390f35b6108b260048036038101906108ad919061402f565b6122af565b005b6108ce60048036038101906108c99190614277565b6122d0565b6040516108db9190613f34565b60405180910390f35b6108ec612357565b6040516108f99190613f34565b60405180910390f35b61091c60048036038101906109179190613ef8565b61235d565b005b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109915750610990826124f0565b5b9050919050565b6060600580546109a7906142e6565b80601f01602080910402602001604051908101604052809291908181526020018280546109d3906142e6565b8015610a205780601f106109f557610100808354040283529160200191610a20565b820191906000526020600020905b815481529060010190602001808311610a0357829003601f168201915b5050505050905090565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b0a9190613f34565b60405180910390a36001905092915050565b60096020528060005260406000206000915090505481565b6000601154905090565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b9e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bd657600080fd5b82610be086611738565b1015610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890614389565b60405180910390fd5b610c527f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610c4d61256a565b611899565b610e255782600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c9061441b565b60405180910390fd5b610da483600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257290919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000610e3086612588565b600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7a919061446a565b9050610e8585612588565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecf919061446a565b81610eda919061449e565b90506000811115610efa5780601154610ef3919061446a565b6011819055505b610f1584610f0788612588565b61257290919063ffffffff16565b600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f7384610f6587612588565b6127f790919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fbf8661280d565b610fc88561280d565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516110259190613f34565b60405180910390a36001925050509392505050565b6000806000838152602001908152602001600020600101549050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6110828261103a565b61108b8161289c565b61109583836128b0565b505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b60006012905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361110357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361113b57600080fd5b82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b490614389565b60405180910390fd5b61120f83600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257290919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112a483600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f790919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113449190613f34565b60405180910390a3600191505092915050565b61135f6128e4565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b6113c861256a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90614544565b60405180910390fd5b61143f8282612962565b5050565b60006114d482600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f790919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161162d9190613f34565b60405180910390a36001905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006116bb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66116b661256a565b611899565b6116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f1906145b0565b60405180910390fd5b6117048383612996565b6001905092915050565b61171781612b11565b50565b6117226128e4565b8060088190555050565b670de0b6b3a764000081565b600061174382612588565b9050919050565b6117526128e4565b61175c6000612cd6565b565b6117708261176a61256a565b83612d9c565b61177a8282612e28565b5050565b600f6020528060005260406000206000915090505481565b7f5fde63b561377d1441afa201ff619faac2ff8fed70a7fbdbe7a5cb07768c0b7581565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061180b8260016000868152602001908152602001600020612ff790919063ffffffff16565b905092915050565b60006118467f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661184161256a565b611899565b611885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187c906145b0565b60405180910390fd5b61188f8383613011565b6001905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060068054611912906142e6565b80601f016020809104026020016040519081016040528092919081815260200182805461193e906142e6565b801561198b5780601f106119605761010080835404028352916020019161198b565b820191906000526020600020905b81548152906001019060200180831161196e57829003601f168201915b5050505050905090565b600d5481565b60006119a682612588565b9050919050565b6000801b81565b600080600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611ac4576000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b58565b611ad7838261257290919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611c319190613f34565b60405180910390a3600191505092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c8057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cb857600080fd5b82611cc233611738565b1015611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90614389565b60405180910390fd5b6000611d0e33612588565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d58919061446a565b9050611d6385612588565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dad919061446a565b81611db8919061449e565b90506000811115611dd85780601154611dd1919061446a565b6011819055505b611df384611de533612588565b61257290919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5184611e4387612588565b6127f790919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9d3361280d565b611ea68561280d565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611f039190613f34565b60405180910390a360019250505092915050565b6000611f3460016000848152602001908152602001600020613164565b9050919050565b6000611f456128e4565b611f50848484613179565b600190509392505050565b83421115611f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f959061461c565b60405180910390fd5b6000600e547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb898989600f60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906120179061463c565b919050558a60405160200161203196959493929190614684565b6040516020818303038152906040528051906020012060405160200161205892919061475d565b604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d6906147e0565b60405180910390fd5b600181858585604051600081526020016040526040516121029493929190614800565b6020604051602081039080840390855afa158015612124573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461219b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219290614891565b60405180910390fd5b85600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925886040516122799190613f34565b60405180910390a35050505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6122b88261103a565b6122c18161289c565b6122cb8383612962565b505050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b6123656128e4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb90614923565b60405180910390fd5b6123dd81612cd6565b50565b6123ea8282611899565b6124bc57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061246161256a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006124e8836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6131ff565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061256357506125628261326f565b5b9050919050565b600033905090565b60008183612580919061446a565b905092915050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561262357600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506127f2565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156126bd57506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054436126bb919061446a565b115b1561271057600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544361270d919061446a565b90505b6001620186a0600854836127249190614943565b61272e91906149b4565b10156127ec57620186a060085482600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127869190614943565b6127909190614943565b61279a91906149b4565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127e4919061446a565b9150506127f2565b60009150505b919050565b60008183612805919061449e565b905092915050565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544311156128995743600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6128ad816128a861256a565b6132d9565b50565b6128ba82826123e0565b6128df81600160008581526020019081526020016000206124c090919063ffffffff16565b505050565b6128ec61256a565b73ffffffffffffffffffffffffffffffffffffffff1661290a6117ba565b73ffffffffffffffffffffffffffffffffffffffff1614612960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295790614a31565b60405180910390fd5b565b61296c828261335e565b612991816001600085815260200190815260200160002061343f90919063ffffffff16565b505050565b61299f82612588565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129e9919061446a565b816011546129f7919061449e565b612a01919061446a565b601181905550612a2281612a1484612588565b6127f790919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a6e8261280d565b7f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858282604051612a9f929190614a51565b60405180910390a18173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b059190613f34565b60405180910390a35050565b80612b1b33611738565b1015612b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5390614aec565b60405180910390fd5b612b6533612588565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612baf919061446a565b81601154612bbd919061446a565b612bc7919061446a565b601181905550612be881612bda33612588565b61257290919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c343361280d565b7fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca53382604051612c65929190614a51565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ccb9190613f34565b60405180910390a350565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000612da884846122d0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612e225781811015612e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0b90614b58565b60405180910390fd5b612e21848484840361346f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8e90614bea565b60405180910390fd5b612ea382600083613638565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2190614c7c565b60405180910390fd5b818103600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fde9190613f34565b60405180910390a3612ff28360008461363d565b505050565b60006130068360000183613642565b60001c905092915050565b613026816011546127f790919063ffffffff16565b60118190555061307e81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f790919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688582826040516130f2929190614a51565b60405180910390a18173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131589190613f34565b60405180910390a35050565b60006131728260000161366d565b9050919050565b6131fa8363a9059cbb60e01b8484604051602401613198929190614a51565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061367e565b505050565b600061320b8383613745565b613264578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613269565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6132e38282611899565b61335a576132f081613768565b6132fe8360001c6020613795565b60405160200161330f929190614d65565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133519190613e02565b60405180910390fd5b5050565b6133688282611899565b1561343b57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506133e061256a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000613467836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6139d1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036134de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134d590614e11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361354d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161354490614ea3565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161362b9190613f34565b60405180910390a3505050565b505050565b505050565b600082600001828154811061365a57613659614ec3565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b60006136e0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613ae59092919063ffffffff16565b905060008151111561374057808060200190518101906137009190614f07565b61373f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161373690614fa6565b60405180910390fd5b5b505050565b600080836001016000848152602001908152602001600020541415905092915050565b606061378e8273ffffffffffffffffffffffffffffffffffffffff16601460ff16613795565b9050919050565b6060600060028360026137a89190614943565b6137b2919061449e565b67ffffffffffffffff8111156137cb576137ca614fc6565b5b6040519080825280601f01601f1916602001820160405280156137fd5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061383557613834614ec3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061389957613898614ec3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026138d99190614943565b6138e3919061449e565b90505b6001811115613983577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061392557613924614ec3565b5b1a60f81b82828151811061393c5761393b614ec3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061397c90614ff5565b90506138e6565b50600084146139c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139be9061506a565b60405180910390fd5b8091505092915050565b60008083600101600084815260200190815260200160002054905060008114613ad9576000600182613a03919061446a565b9050600060018660000180549050613a1b919061446a565b9050818114613a8a576000866000018281548110613a3c57613a3b614ec3565b5b9060005260206000200154905080876000018481548110613a6057613a5f614ec3565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480613a9e57613a9d61508a565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050613adf565b60009150505b92915050565b6060613af48484600085613afd565b90509392505050565b606082471015613b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b399061512b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051613b6b9190615192565b60006040518083038185875af1925050503d8060008114613ba8576040519150601f19603f3d011682016040523d82523d6000602084013e613bad565b606091505b5091509150613bbe87838387613bca565b92505050949350505050565b60608315613c2c576000835103613c2457613be485613c3f565b613c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c1a906151f5565b60405180910390fd5b5b829050613c37565b613c368383613c62565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115613c755781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ca99190613e02565b60405180910390fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613cec81613cb7565b8114613cf757600080fd5b50565b600081359050613d0981613ce3565b92915050565b600060208284031215613d2557613d24613cb2565b5b6000613d3384828501613cfa565b91505092915050565b60008115159050919050565b613d5181613d3c565b82525050565b6000602082019050613d6c6000830184613d48565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613dac578082015181840152602081019050613d91565b60008484015250505050565b6000601f19601f8301169050919050565b6000613dd482613d72565b613dde8185613d7d565b9350613dee818560208601613d8e565b613df781613db8565b840191505092915050565b60006020820190508181036000830152613e1c8184613dc9565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613e4f82613e24565b9050919050565b613e5f81613e44565b8114613e6a57600080fd5b50565b600081359050613e7c81613e56565b92915050565b6000819050919050565b613e9581613e82565b8114613ea057600080fd5b50565b600081359050613eb281613e8c565b92915050565b60008060408385031215613ecf57613ece613cb2565b5b6000613edd85828601613e6d565b9250506020613eee85828601613ea3565b9150509250929050565b600060208284031215613f0e57613f0d613cb2565b5b6000613f1c84828501613e6d565b91505092915050565b613f2e81613e82565b82525050565b6000602082019050613f496000830184613f25565b92915050565b6000819050919050565b613f6281613f4f565b82525050565b6000602082019050613f7d6000830184613f59565b92915050565b600080600060608486031215613f9c57613f9b613cb2565b5b6000613faa86828701613e6d565b9350506020613fbb86828701613e6d565b9250506040613fcc86828701613ea3565b9150509250925092565b613fdf81613f4f565b8114613fea57600080fd5b50565b600081359050613ffc81613fd6565b92915050565b60006020828403121561401857614017613cb2565b5b600061402684828501613fed565b91505092915050565b6000806040838503121561404657614045613cb2565b5b600061405485828601613fed565b925050602061406585828601613e6d565b9150509250929050565b600060ff82169050919050565b6140858161406f565b82525050565b60006020820190506140a0600083018461407c565b92915050565b6140af81613d3c565b81146140ba57600080fd5b50565b6000813590506140cc816140a6565b92915050565b600080604083850312156140e9576140e8613cb2565b5b60006140f785828601613e6d565b9250506020614108858286016140bd565b9150509250929050565b60006020828403121561412857614127613cb2565b5b600061413684828501613ea3565b91505092915050565b61414881613e44565b82525050565b6000602082019050614163600083018461413f565b92915050565b600080604083850312156141805761417f613cb2565b5b600061418e85828601613fed565b925050602061419f85828601613ea3565b9150509250929050565b6141b28161406f565b81146141bd57600080fd5b50565b6000813590506141cf816141a9565b92915050565b600080600080600080600060e0888a0312156141f4576141f3613cb2565b5b60006142028a828b01613e6d565b97505060206142138a828b01613e6d565b96505060406142248a828b01613ea3565b95505060606142358a828b01613ea3565b94505060806142468a828b016141c0565b93505060a06142578a828b01613fed565b92505060c06142688a828b01613fed565b91505092959891949750929550565b6000806040838503121561428e5761428d613cb2565b5b600061429c85828601613e6d565b92505060206142ad85828601613e6d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806142fe57607f821691505b602082108103614311576143106142b7565b5b50919050565b7f757365722062616c616e6365206973206c657373207468616e2074686520776160008201527f6e7420616d6f756e742100000000000000000000000000000000000000000000602082015250565b6000614373602a83613d7d565b915061437e82614317565b604082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b7f616c6c6f77616e6365206973206c657373207468616e207468652077616e742060008201527f616d6f756e742100000000000000000000000000000000000000000000000000602082015250565b6000614405602783613d7d565b9150614410826143a9565b604082019050919050565b60006020820190508181036000830152614434816143f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061447582613e82565b915061448083613e82565b92508282039050818111156144985761449761443b565b5b92915050565b60006144a982613e82565b91506144b483613e82565b92508282019050808211156144cc576144cb61443b565b5b92915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061452e602f83613d7d565b9150614539826144d2565b604082019050919050565b6000602082019050818103600083015261455d81614521565b9050919050565b7f4d7573742068617665206d696e74657220726f6c650000000000000000000000600082015250565b600061459a601583613d7d565b91506145a582614564565b602082019050919050565b600060208201905081810360008301526145c98161458d565b9050919050565b7f424952442f7065726d69742d6578706972656400000000000000000000000000600082015250565b6000614606601383613d7d565b9150614611826145d0565b602082019050919050565b60006020820190508181036000830152614635816145f9565b9050919050565b600061464782613e82565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146795761467861443b565b5b600182019050919050565b600060c0820190506146996000830189613f59565b6146a6602083018861413f565b6146b3604083018761413f565b6146c06060830186613f25565b6146cd6080830185613f25565b6146da60a0830184613f25565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006147266002836146e5565b9150614731826146f0565b600282019050919050565b6000819050919050565b61475761475282613f4f565b61473c565b82525050565b600061476882614719565b91506147748285614746565b6020820191506147848284614746565b6020820191508190509392505050565b7f424952442f696e76616c69642d616464726573732d3000000000000000000000600082015250565b60006147ca601683613d7d565b91506147d582614794565b602082019050919050565b600060208201905081810360008301526147f9816147bd565b9050919050565b60006080820190506148156000830187613f59565b614822602083018661407c565b61482f6040830185613f59565b61483c6060830184613f59565b95945050505050565b7f424952442f696e76616c69642d7065726d697400000000000000000000000000600082015250565b600061487b601383613d7d565b915061488682614845565b602082019050919050565b600060208201905081810360008301526148aa8161486e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061490d602683613d7d565b9150614918826148b1565b604082019050919050565b6000602082019050818103600083015261493c81614900565b9050919050565b600061494e82613e82565b915061495983613e82565b925082820261496781613e82565b9150828204841483151761497e5761497d61443b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149bf82613e82565b91506149ca83613e82565b9250826149da576149d9614985565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614a1b602083613d7d565b9150614a26826149e5565b602082019050919050565b60006020820190508181036000830152614a4a81614a0e565b9050919050565b6000604082019050614a66600083018561413f565b614a736020830184613f25565b9392505050565b7f757365722062616c616e6365206973206c657373207468616e2074686520627560008201527f726e696e6720616d6f756e742100000000000000000000000000000000000000602082015250565b6000614ad6602d83613d7d565b9150614ae182614a7a565b604082019050919050565b60006020820190508181036000830152614b0581614ac9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614b42601d83613d7d565b9150614b4d82614b0c565b602082019050919050565b60006020820190508181036000830152614b7181614b35565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614bd4602183613d7d565b9150614bdf82614b78565b604082019050919050565b60006020820190508181036000830152614c0381614bc7565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c66602283613d7d565b9150614c7182614c0a565b604082019050919050565b60006020820190508181036000830152614c9581614c59565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614cd26017836146e5565b9150614cdd82614c9c565b601782019050919050565b6000614cf382613d72565b614cfd81856146e5565b9350614d0d818560208601613d8e565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614d4f6011836146e5565b9150614d5a82614d19565b601182019050919050565b6000614d7082614cc5565b9150614d7c8285614ce8565b9150614d8782614d42565b9150614d938284614ce8565b91508190509392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614dfb602483613d7d565b9150614e0682614d9f565b604082019050919050565b60006020820190508181036000830152614e2a81614dee565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e8d602283613d7d565b9150614e9882614e31565b604082019050919050565b60006020820190508181036000830152614ebc81614e80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614f01816140a6565b92915050565b600060208284031215614f1d57614f1c613cb2565b5b6000614f2b84828501614ef2565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614f90602a83613d7d565b9150614f9b82614f34565b604082019050919050565b60006020820190508181036000830152614fbf81614f83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061500082613e82565b9150600082036150135761501261443b565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615054602083613d7d565b915061505f8261501e565b602082019050919050565b6000602082019050818103600083015261508381615047565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000615115602683613d7d565b9150615120826150b9565b604082019050919050565b6000602082019050818103600083015261514481615108565b9050919050565b600081519050919050565b600081905092915050565b600061516c8261514b565b6151768185615156565b9350615186818560208601613d8e565b80840191505092915050565b600061519e8284615161565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006151df601d83613d7d565b91506151ea826151a9565b602082019050919050565b6000602082019050818103600083015261520e816151d2565b905091905056fea264697066735822122009693c35037f769a9fc980f96f3b5b2dc4e9c01e4d2816c65fb12eca3975382164736f6c63430008120033000000000000000000000000000000000000000000000000000000000000000c
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780639d025482116100ce578063d505accf11610087578063d505accf1461085e578063d53913931461087a578063d547741f14610898578063dd62ed3e146108b4578063ee4ab3c0146108e4578063f2fde38b146109025761027f565b80639d02548214610750578063a217fddf14610780578063a457c2d71461079e578063a9059cbb146107ce578063ca15c873146107fe578063cea9d26f1461082e5761027f565b80638da5cb5b116101205780638da5cb5b146106665780639010d07c14610684578063917505f4146106b457806391d14854146106e457806395d89b411461071457806397d63f93146107325761027f565b806370a08231146105c2578063715018a6146105f257806379cc6790146105fc5780637ecebe001461061857806383eb70e5146106485761027f565b8063313ce567116101f557806339509351116101b957806339509351146104dc5780633af9e6691461050c57806340c10f191461053c57806342966c681461056c5780634351a8751461058857806364dd48f5146105a45761027f565b8063313ce56714610438578063336d2692146104565780633403143a146104865780633644e515146104a257806336568abe146104c05761027f565b806320606b701161024757806320606b701461035057806323b872dd1461036e578063248a9ca31461039e5780632545eb44146103ce5780632f2ff15d146103fe57806330adf81f1461041a5761027f565b806301ffc9a71461028457806306fdde03146102b4578063095ea7b3146102d25780630c0034e71461030257806318160ddd14610332575b600080fd5b61029e60048036038101906102999190613d0f565b61091e565b6040516102ab9190613d57565b60405180910390f35b6102bc610998565b6040516102c99190613e02565b60405180910390f35b6102ec60048036038101906102e79190613eb8565b610a2a565b6040516102f99190613d57565b60405180910390f35b61031c60048036038101906103179190613ef8565b610b1c565b6040516103299190613f34565b60405180910390f35b61033a610b34565b6040516103479190613f34565b60405180910390f35b610358610b3e565b6040516103659190613f68565b60405180910390f35b61038860048036038101906103839190613f83565b610b62565b6040516103959190613d57565b60405180910390f35b6103b860048036038101906103b39190614002565b61103a565b6040516103c59190613f68565b60405180910390f35b6103e860048036038101906103e39190613ef8565b611059565b6040516103f59190613d57565b60405180910390f35b6104186004803603810190610413919061402f565b611079565b005b61042261109a565b60405161042f9190613f68565b60405180910390f35b6104406110be565b60405161044d919061408b565b60405180910390f35b610470600480360381019061046b9190613eb8565b6110c7565b60405161047d9190613d57565b60405180910390f35b6104a0600480360381019061049b91906140d2565b611357565b005b6104aa6113ba565b6040516104b79190613f68565b60405180910390f35b6104da60048036038101906104d5919061402f565b6113c0565b005b6104f660048036038101906104f19190613eb8565b611443565b6040516105039190613d57565b60405180910390f35b61052660048036038101906105219190613ef8565b61163f565b6040516105339190613f34565b60405180910390f35b61055660048036038101906105519190613eb8565b611688565b6040516105639190613d57565b60405180910390f35b61058660048036038101906105819190614112565b61170e565b005b6105a2600480360381019061059d9190614112565b61171a565b005b6105ac61172c565b6040516105b99190613f34565b60405180910390f35b6105dc60048036038101906105d79190613ef8565b611738565b6040516105e99190613f34565b60405180910390f35b6105fa61174a565b005b61061660048036038101906106119190613eb8565b61175e565b005b610632600480360381019061062d9190613ef8565b61177e565b60405161063f9190613f34565b60405180910390f35b610650611796565b60405161065d9190613f68565b60405180910390f35b61066e6117ba565b60405161067b919061414e565b60405180910390f35b61069e60048036038101906106999190614169565b6117e4565b6040516106ab919061414e565b60405180910390f35b6106ce60048036038101906106c99190613eb8565b611813565b6040516106db9190613d57565b60405180910390f35b6106fe60048036038101906106f9919061402f565b611899565b60405161070b9190613d57565b60405180910390f35b61071c611903565b6040516107299190613e02565b60405180910390f35b61073a611995565b6040516107479190613f34565b60405180910390f35b61076a60048036038101906107659190613ef8565b61199b565b6040516107779190613f34565b60405180910390f35b6107886119ad565b6040516107959190613f68565b60405180910390f35b6107b860048036038101906107b39190613eb8565b6119b4565b6040516107c59190613d57565b60405180910390f35b6107e860048036038101906107e39190613eb8565b611c44565b6040516107f59190613d57565b60405180910390f35b61081860048036038101906108139190614002565b611f17565b6040516108259190613f34565b60405180910390f35b61084860048036038101906108439190613f83565b611f3b565b6040516108559190613d57565b60405180910390f35b610878600480360381019061087391906141d5565b611f5b565b005b61088261228b565b60405161088f9190613f68565b60405180910390f35b6108b260048036038101906108ad919061402f565b6122af565b005b6108ce60048036038101906108c99190614277565b6122d0565b6040516108db9190613f34565b60405180910390f35b6108ec612357565b6040516108f99190613f34565b60405180910390f35b61091c60048036038101906109179190613ef8565b61235d565b005b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109915750610990826124f0565b5b9050919050565b6060600580546109a7906142e6565b80601f01602080910402602001604051908101604052809291908181526020018280546109d3906142e6565b8015610a205780601f106109f557610100808354040283529160200191610a20565b820191906000526020600020905b815481529060010190602001808311610a0357829003601f168201915b5050505050905090565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b0a9190613f34565b60405180910390a36001905092915050565b60096020528060005260406000206000915090505481565b6000601154905090565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b9e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bd657600080fd5b82610be086611738565b1015610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890614389565b60405180910390fd5b610c527f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610c4d61256a565b611899565b610e255782600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c9061441b565b60405180910390fd5b610da483600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257290919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000610e3086612588565b600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e7a919061446a565b9050610e8585612588565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecf919061446a565b81610eda919061449e565b90506000811115610efa5780601154610ef3919061446a565b6011819055505b610f1584610f0788612588565b61257290919063ffffffff16565b600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f7384610f6587612588565b6127f790919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fbf8661280d565b610fc88561280d565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516110259190613f34565b60405180910390a36001925050509392505050565b6000806000838152602001908152602001600020600101549050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6110828261103a565b61108b8161289c565b61109583836128b0565b505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b60006012905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361110357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361113b57600080fd5b82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b490614389565b60405180910390fd5b61120f83600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257290919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112a483600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f790919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113449190613f34565b60405180910390a3600191505092915050565b61135f6128e4565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b6113c861256a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90614544565b60405180910390fd5b61143f8282612962565b5050565b60006114d482600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f790919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161162d9190613f34565b60405180910390a36001905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006116bb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66116b661256a565b611899565b6116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f1906145b0565b60405180910390fd5b6117048383612996565b6001905092915050565b61171781612b11565b50565b6117226128e4565b8060088190555050565b670de0b6b3a764000081565b600061174382612588565b9050919050565b6117526128e4565b61175c6000612cd6565b565b6117708261176a61256a565b83612d9c565b61177a8282612e28565b5050565b600f6020528060005260406000206000915090505481565b7f5fde63b561377d1441afa201ff619faac2ff8fed70a7fbdbe7a5cb07768c0b7581565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061180b8260016000868152602001908152602001600020612ff790919063ffffffff16565b905092915050565b60006118467f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661184161256a565b611899565b611885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187c906145b0565b60405180910390fd5b61188f8383613011565b6001905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060068054611912906142e6565b80601f016020809104026020016040519081016040528092919081815260200182805461193e906142e6565b801561198b5780601f106119605761010080835404028352916020019161198b565b820191906000526020600020905b81548152906001019060200180831161196e57829003601f168201915b5050505050905090565b600d5481565b60006119a682612588565b9050919050565b6000801b81565b600080600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611ac4576000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b58565b611ad7838261257290919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611c319190613f34565b60405180910390a3600191505092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c8057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cb857600080fd5b82611cc233611738565b1015611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90614389565b60405180910390fd5b6000611d0e33612588565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d58919061446a565b9050611d6385612588565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dad919061446a565b81611db8919061449e565b90506000811115611dd85780601154611dd1919061446a565b6011819055505b611df384611de533612588565b61257290919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5184611e4387612588565b6127f790919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9d3361280d565b611ea68561280d565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611f039190613f34565b60405180910390a360019250505092915050565b6000611f3460016000848152602001908152602001600020613164565b9050919050565b6000611f456128e4565b611f50848484613179565b600190509392505050565b83421115611f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f959061461c565b60405180910390fd5b6000600e547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb898989600f60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906120179061463c565b919050558a60405160200161203196959493929190614684565b6040516020818303038152906040528051906020012060405160200161205892919061475d565b604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d6906147e0565b60405180910390fd5b600181858585604051600081526020016040526040516121029493929190614800565b6020604051602081039080840390855afa158015612124573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461219b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219290614891565b60405180910390fd5b85600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925886040516122799190613f34565b60405180910390a35050505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6122b88261103a565b6122c18161289c565b6122cb8383612962565b505050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b6123656128e4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb90614923565b60405180910390fd5b6123dd81612cd6565b50565b6123ea8282611899565b6124bc57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061246161256a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006124e8836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6131ff565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061256357506125628261326f565b5b9050919050565b600033905090565b60008183612580919061446a565b905092915050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561262357600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506127f2565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156126bd57506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054436126bb919061446a565b115b1561271057600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544361270d919061446a565b90505b6001620186a0600854836127249190614943565b61272e91906149b4565b10156127ec57620186a060085482600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127869190614943565b6127909190614943565b61279a91906149b4565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127e4919061446a565b9150506127f2565b60009150505b919050565b60008183612805919061449e565b905092915050565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544311156128995743600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50565b6128ad816128a861256a565b6132d9565b50565b6128ba82826123e0565b6128df81600160008581526020019081526020016000206124c090919063ffffffff16565b505050565b6128ec61256a565b73ffffffffffffffffffffffffffffffffffffffff1661290a6117ba565b73ffffffffffffffffffffffffffffffffffffffff1614612960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295790614a31565b60405180910390fd5b565b61296c828261335e565b612991816001600085815260200190815260200160002061343f90919063ffffffff16565b505050565b61299f82612588565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129e9919061446a565b816011546129f7919061449e565b612a01919061446a565b601181905550612a2281612a1484612588565b6127f790919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a6e8261280d565b7f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858282604051612a9f929190614a51565b60405180910390a18173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b059190613f34565b60405180910390a35050565b80612b1b33611738565b1015612b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5390614aec565b60405180910390fd5b612b6533612588565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612baf919061446a565b81601154612bbd919061446a565b612bc7919061446a565b601181905550612be881612bda33612588565b61257290919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c343361280d565b7fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca53382604051612c65929190614a51565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ccb9190613f34565b60405180910390a350565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000612da884846122d0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612e225781811015612e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0b90614b58565b60405180910390fd5b612e21848484840361346f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8e90614bea565b60405180910390fd5b612ea382600083613638565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2190614c7c565b60405180910390fd5b818103600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fde9190613f34565b60405180910390a3612ff28360008461363d565b505050565b60006130068360000183613642565b60001c905092915050565b613026816011546127f790919063ffffffff16565b60118190555061307e81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f790919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688582826040516130f2929190614a51565b60405180910390a18173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131589190613f34565b60405180910390a35050565b60006131728260000161366d565b9050919050565b6131fa8363a9059cbb60e01b8484604051602401613198929190614a51565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061367e565b505050565b600061320b8383613745565b613264578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613269565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6132e38282611899565b61335a576132f081613768565b6132fe8360001c6020613795565b60405160200161330f929190614d65565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133519190613e02565b60405180910390fd5b5050565b6133688282611899565b1561343b57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506133e061256a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000613467836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6139d1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036134de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134d590614e11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361354d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161354490614ea3565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161362b9190613f34565b60405180910390a3505050565b505050565b505050565b600082600001828154811061365a57613659614ec3565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b60006136e0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613ae59092919063ffffffff16565b905060008151111561374057808060200190518101906137009190614f07565b61373f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161373690614fa6565b60405180910390fd5b5b505050565b600080836001016000848152602001908152602001600020541415905092915050565b606061378e8273ffffffffffffffffffffffffffffffffffffffff16601460ff16613795565b9050919050565b6060600060028360026137a89190614943565b6137b2919061449e565b67ffffffffffffffff8111156137cb576137ca614fc6565b5b6040519080825280601f01601f1916602001820160405280156137fd5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061383557613834614ec3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061389957613898614ec3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026138d99190614943565b6138e3919061449e565b90505b6001811115613983577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061392557613924614ec3565b5b1a60f81b82828151811061393c5761393b614ec3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061397c90614ff5565b90506138e6565b50600084146139c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139be9061506a565b60405180910390fd5b8091505092915050565b60008083600101600084815260200190815260200160002054905060008114613ad9576000600182613a03919061446a565b9050600060018660000180549050613a1b919061446a565b9050818114613a8a576000866000018281548110613a3c57613a3b614ec3565b5b9060005260206000200154905080876000018481548110613a6057613a5f614ec3565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480613a9e57613a9d61508a565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050613adf565b60009150505b92915050565b6060613af48484600085613afd565b90509392505050565b606082471015613b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b399061512b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051613b6b9190615192565b60006040518083038185875af1925050503d8060008114613ba8576040519150601f19603f3d011682016040523d82523d6000602084013e613bad565b606091505b5091509150613bbe87838387613bca565b92505050949350505050565b60608315613c2c576000835103613c2457613be485613c3f565b613c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c1a906151f5565b60405180910390fd5b5b829050613c37565b613c368383613c62565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115613c755781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ca99190613e02565b60405180910390fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613cec81613cb7565b8114613cf757600080fd5b50565b600081359050613d0981613ce3565b92915050565b600060208284031215613d2557613d24613cb2565b5b6000613d3384828501613cfa565b91505092915050565b60008115159050919050565b613d5181613d3c565b82525050565b6000602082019050613d6c6000830184613d48565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613dac578082015181840152602081019050613d91565b60008484015250505050565b6000601f19601f8301169050919050565b6000613dd482613d72565b613dde8185613d7d565b9350613dee818560208601613d8e565b613df781613db8565b840191505092915050565b60006020820190508181036000830152613e1c8184613dc9565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613e4f82613e24565b9050919050565b613e5f81613e44565b8114613e6a57600080fd5b50565b600081359050613e7c81613e56565b92915050565b6000819050919050565b613e9581613e82565b8114613ea057600080fd5b50565b600081359050613eb281613e8c565b92915050565b60008060408385031215613ecf57613ece613cb2565b5b6000613edd85828601613e6d565b9250506020613eee85828601613ea3565b9150509250929050565b600060208284031215613f0e57613f0d613cb2565b5b6000613f1c84828501613e6d565b91505092915050565b613f2e81613e82565b82525050565b6000602082019050613f496000830184613f25565b92915050565b6000819050919050565b613f6281613f4f565b82525050565b6000602082019050613f7d6000830184613f59565b92915050565b600080600060608486031215613f9c57613f9b613cb2565b5b6000613faa86828701613e6d565b9350506020613fbb86828701613e6d565b9250506040613fcc86828701613ea3565b9150509250925092565b613fdf81613f4f565b8114613fea57600080fd5b50565b600081359050613ffc81613fd6565b92915050565b60006020828403121561401857614017613cb2565b5b600061402684828501613fed565b91505092915050565b6000806040838503121561404657614045613cb2565b5b600061405485828601613fed565b925050602061406585828601613e6d565b9150509250929050565b600060ff82169050919050565b6140858161406f565b82525050565b60006020820190506140a0600083018461407c565b92915050565b6140af81613d3c565b81146140ba57600080fd5b50565b6000813590506140cc816140a6565b92915050565b600080604083850312156140e9576140e8613cb2565b5b60006140f785828601613e6d565b9250506020614108858286016140bd565b9150509250929050565b60006020828403121561412857614127613cb2565b5b600061413684828501613ea3565b91505092915050565b61414881613e44565b82525050565b6000602082019050614163600083018461413f565b92915050565b600080604083850312156141805761417f613cb2565b5b600061418e85828601613fed565b925050602061419f85828601613ea3565b9150509250929050565b6141b28161406f565b81146141bd57600080fd5b50565b6000813590506141cf816141a9565b92915050565b600080600080600080600060e0888a0312156141f4576141f3613cb2565b5b60006142028a828b01613e6d565b97505060206142138a828b01613e6d565b96505060406142248a828b01613ea3565b95505060606142358a828b01613ea3565b94505060806142468a828b016141c0565b93505060a06142578a828b01613fed565b92505060c06142688a828b01613fed565b91505092959891949750929550565b6000806040838503121561428e5761428d613cb2565b5b600061429c85828601613e6d565b92505060206142ad85828601613e6d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806142fe57607f821691505b602082108103614311576143106142b7565b5b50919050565b7f757365722062616c616e6365206973206c657373207468616e2074686520776160008201527f6e7420616d6f756e742100000000000000000000000000000000000000000000602082015250565b6000614373602a83613d7d565b915061437e82614317565b604082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b7f616c6c6f77616e6365206973206c657373207468616e207468652077616e742060008201527f616d6f756e742100000000000000000000000000000000000000000000000000602082015250565b6000614405602783613d7d565b9150614410826143a9565b604082019050919050565b60006020820190508181036000830152614434816143f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061447582613e82565b915061448083613e82565b92508282039050818111156144985761449761443b565b5b92915050565b60006144a982613e82565b91506144b483613e82565b92508282019050808211156144cc576144cb61443b565b5b92915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061452e602f83613d7d565b9150614539826144d2565b604082019050919050565b6000602082019050818103600083015261455d81614521565b9050919050565b7f4d7573742068617665206d696e74657220726f6c650000000000000000000000600082015250565b600061459a601583613d7d565b91506145a582614564565b602082019050919050565b600060208201905081810360008301526145c98161458d565b9050919050565b7f424952442f7065726d69742d6578706972656400000000000000000000000000600082015250565b6000614606601383613d7d565b9150614611826145d0565b602082019050919050565b60006020820190508181036000830152614635816145f9565b9050919050565b600061464782613e82565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146795761467861443b565b5b600182019050919050565b600060c0820190506146996000830189613f59565b6146a6602083018861413f565b6146b3604083018761413f565b6146c06060830186613f25565b6146cd6080830185613f25565b6146da60a0830184613f25565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006147266002836146e5565b9150614731826146f0565b600282019050919050565b6000819050919050565b61475761475282613f4f565b61473c565b82525050565b600061476882614719565b91506147748285614746565b6020820191506147848284614746565b6020820191508190509392505050565b7f424952442f696e76616c69642d616464726573732d3000000000000000000000600082015250565b60006147ca601683613d7d565b91506147d582614794565b602082019050919050565b600060208201905081810360008301526147f9816147bd565b9050919050565b60006080820190506148156000830187613f59565b614822602083018661407c565b61482f6040830185613f59565b61483c6060830184613f59565b95945050505050565b7f424952442f696e76616c69642d7065726d697400000000000000000000000000600082015250565b600061487b601383613d7d565b915061488682614845565b602082019050919050565b600060208201905081810360008301526148aa8161486e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061490d602683613d7d565b9150614918826148b1565b604082019050919050565b6000602082019050818103600083015261493c81614900565b9050919050565b600061494e82613e82565b915061495983613e82565b925082820261496781613e82565b9150828204841483151761497e5761497d61443b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149bf82613e82565b91506149ca83613e82565b9250826149da576149d9614985565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614a1b602083613d7d565b9150614a26826149e5565b602082019050919050565b60006020820190508181036000830152614a4a81614a0e565b9050919050565b6000604082019050614a66600083018561413f565b614a736020830184613f25565b9392505050565b7f757365722062616c616e6365206973206c657373207468616e2074686520627560008201527f726e696e6720616d6f756e742100000000000000000000000000000000000000602082015250565b6000614ad6602d83613d7d565b9150614ae182614a7a565b604082019050919050565b60006020820190508181036000830152614b0581614ac9565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614b42601d83613d7d565b9150614b4d82614b0c565b602082019050919050565b60006020820190508181036000830152614b7181614b35565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614bd4602183613d7d565b9150614bdf82614b78565b604082019050919050565b60006020820190508181036000830152614c0381614bc7565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c66602283613d7d565b9150614c7182614c0a565b604082019050919050565b60006020820190508181036000830152614c9581614c59565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614cd26017836146e5565b9150614cdd82614c9c565b601782019050919050565b6000614cf382613d72565b614cfd81856146e5565b9350614d0d818560208601613d8e565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614d4f6011836146e5565b9150614d5a82614d19565b601182019050919050565b6000614d7082614cc5565b9150614d7c8285614ce8565b9150614d8782614d42565b9150614d938284614ce8565b91508190509392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614dfb602483613d7d565b9150614e0682614d9f565b604082019050919050565b60006020820190508181036000830152614e2a81614dee565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e8d602283613d7d565b9150614e9882614e31565b604082019050919050565b60006020820190508181036000830152614ebc81614e80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614f01816140a6565b92915050565b600060208284031215614f1d57614f1c613cb2565b5b6000614f2b84828501614ef2565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614f90602a83613d7d565b9150614f9b82614f34565b604082019050919050565b60006020820190508181036000830152614fbf81614f83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061500082613e82565b9150600082036150135761501261443b565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615054602083613d7d565b915061505f8261501e565b602082019050919050565b6000602082019050818103600083015261508381615047565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000615115602683613d7d565b9150615120826150b9565b604082019050919050565b6000602082019050818103600083015261514481615108565b9050919050565b600081519050919050565b600081905092915050565b600061516c8261514b565b6151768185615156565b9350615186818560208601613d8e565b80840191505092915050565b600061519e8284615161565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006151df601d83613d7d565b91506151ea826151a9565b602082019050919050565b6000602082019050818103600083015261520e816151d2565b905091905056fea264697066735822122009693c35037f769a9fc980f96f3b5b2dc4e9c01e4d2816c65fb12eca3975382164736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000c

-----Decoded View---------------
Arg [0] : _burnedRatioPerBlock (uint256): 12

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000000c

Deployed Bytecode Sourcemap
128727:13727:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;77524:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;101127:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;138246:245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;129154:54;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;130977:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;130084:155;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;135472:1102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;72842:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;129349:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;73333:188;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;129665:135;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;102089:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;133635:499;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;141917:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;129930:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;74559:287;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;138864:404;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;136999:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;131373:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;132101:78;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;142034:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;129014:47;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;136695:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;81540:103;;;:::i;:::-;;113724:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;129970:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;114150:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;80892:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;78413:203;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;132853:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;71265:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;101346:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;129398:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;141156:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;70294:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;139530:588;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;134397:813;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;78790:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;142206:245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;140163:985;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;114081:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;73814:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;137418:186;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;129111:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;81798:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;77524:290;77654:4;77711:42;77696:57;;;:11;:57;;;;:110;;;;77770:36;77794:11;77770:23;:36::i;:::-;77696:110;77676:130;;77524:290;;;:::o;101127:100::-;101181:13;101214:5;101207:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;101127:100;:::o;138246:245::-;138347:4;138404:5;138369:11;:23;138381:10;138369:23;;;;;;;;;;;;;;;:32;138393:7;138369:32;;;;;;;;;;;;;;;:40;;;;138446:7;138425:36;;138434:10;138425:36;;;138455:5;138425:36;;;;;;:::i;:::-;;;;;;;;138479:4;138472:11;;138246:245;;;;:::o;129154:54::-;;;;;;;;;;;;;;;;;:::o;130977:100::-;131030:7;131057:12;;131050:19;;130977:100;:::o;130084:155::-;130135:104;130084:155;:::o;135472:1102::-;135613:4;135600:2;130420:3;130406:18;;:2;:18;;;130398:27;;;;;;130458:4;130444:19;;:2;:19;;;130436:28;;;;;;135657:5:::1;135638:15;135648:4;135638:9;:15::i;:::-;:24;;135630:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;135756:34;114119:24;135777:12;:10;:12::i;:::-;135756:7;:34::i;:::-;135751:279;;135882:5;135849:11;:17;135861:4;135849:17;;;;;;;;;;;;;;;:29;135867:10;135849:29;;;;;;;;;;;;;;;;:38;;135841:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;135978:40;136012:5;135978:11;:17;135990:4;135978:17;;;;;;;;;;;;;;;:29;135996:10;135978:29;;;;;;;;;;;;;;;;:33;;:40;;;;:::i;:::-;135946:11;:17;135958:4;135946:17;;;;;;;;;;;;;;;:29;135964:10;135946:29;;;;;;;;;;;;;;;:72;;;;135751:279;136042:20;136110:22;136127:4;136110:16;:22::i;:::-;136092:9;:15;136102:4;136092:15;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;136077:55;;136176:20;136193:2;136176:16;:20::i;:::-;136160:9;:13;136170:2;136160:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;136144:52;;;;;:::i;:::-;;;136225:1;136210:12;:16;136207:89;;;136272:12;136257;;:27;;;;:::i;:::-;136242:12;:42;;;;136207:89;136324:33;136351:5;136324:22;136341:4;136324:16;:22::i;:::-;:26;;:33;;;;:::i;:::-;136306:9;:15;136316:4;136306:15;;;;;;;;;;;;;;;:51;;;;136384:31;136409:5;136384:20;136401:2;136384:16;:20::i;:::-;:24;;:31;;;;:::i;:::-;136368:9;:13;136378:2;136368:13;;;;;;;;;;;;;;;:47;;;;136428:31;136454:4;136428:25;:31::i;:::-;136470:29;136496:2;136470:25;:29::i;:::-;136532:2;136517:25;;136526:4;136517:25;;;136536:5;136517:25;;;;;;:::i;:::-;;;;;;;;136562:4;136555:11;;;135472:1102:::0;;;;;;:::o;72842:181::-;72961:7;72993:6;:12;73000:4;72993:12;;;;;;;;;;;:22;;;72986:29;;72842:181;;;:::o;129349:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;73333:188::-;73452:18;73465:4;73452:12;:18::i;:::-;70785:16;70796:4;70785:10;:16::i;:::-;73488:25:::1;73499:4;73505:7;73488:10;:25::i;:::-;73333:188:::0;;;:::o;129665:135::-;129707:93;129665:135;:::o;102089:93::-;102147:5;102172:2;102165:9;;102089:93;:::o;133635:499::-;133752:4;133730:2;130420:3;130406:18;;:2;:18;;;130398:27;;;;;;130458:4;130444:19;;:2;:19;;;130436:28;;;;;;133807:5:::1;133782:9;:21;133792:10;133782:21;;;;;;;;;;;;;;;;:30;;133774:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;133933:32;133959:5;133933:9;:21;133943:10;133933:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;133909:9;:21;133919:10;133909:21;;;;;;;;;;;;;;;:56;;;;134033:24;134051:5;134033:9;:13;134043:2;134033:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;134017:9;:13;134027:2;134017:13;;;;;;;;;;;;;;;:40;;;;134094:2;134073:31;;134082:10;134073:31;;;134098:5;134073:31;;;;;;:::i;:::-;;;;;;;;134122:4;134115:11;;133635:499:::0;;;;;:::o;141917:109::-;80778:13;:11;:13::i;:::-;142012:6:::1;141995:8;:14;142004:4;141995:14;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;141917:109:::0;;:::o;129930:31::-;;;;:::o;74559:287::-;74712:12;:10;:12::i;:::-;74701:23;;:7;:23;;;74679:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;74812:26;74824:4;74830:7;74812:11;:26::i;:::-;74559:287;;:::o;138864:404::-;138980:4;139037:72;139098:10;139037:11;:23;139049:10;139037:23;;;;;;;;;;;;;;;:56;139075:7;139037:56;;;;;;;;;;;;;;;;:60;;:72;;;;:::i;:::-;139002:11;:23;139014:10;139002:23;;;;;;;;;;;;;;;:32;139026:7;139002:32;;;;;;;;;;;;;;;:107;;;;139173:7;139125:113;;139148:10;139125:113;;;139195:11;:23;139207:10;139195:23;;;;;;;;;;;;;;;:32;139219:7;139195:32;;;;;;;;;;;;;;;;139125:113;;;;;;:::i;:::-;;;;;;;;139256:4;139249:11;;138864:404;;;;:::o;136999:112::-;137062:7;137089:9;:14;137099:3;137089:14;;;;;;;;;;;;;;;;137082:21;;136999:112;;;:::o;131373:205::-;131433:4;131458:34;114119:24;131479:12;:10;:12::i;:::-;131458:7;:34::i;:::-;131450:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;131531:17;131537:2;131541:6;131531:5;:17::i;:::-;131566:4;131559:11;;131373:205;;;;:::o;132101:78::-;132158:13;132164:6;132158:5;:13::i;:::-;132101:78;:::o;142034:142::-;80778:13;:11;:13::i;:::-;142148:20:::1;142126:19;:42;;;;142034:142:::0;:::o;129014:47::-;129057:4;129014:47;:::o;136695:118::-;136757:7;136784:21;136801:3;136784:16;:21::i;:::-;136777:28;;136695:118;;;:::o;81540:103::-;80778:13;:11;:13::i;:::-;81605:30:::1;81632:1;81605:18;:30::i;:::-;81540:103::o:0;113724:164::-;113801:46;113817:7;113826:12;:10;:12::i;:::-;113840:6;113801:15;:46::i;:::-;113858:22;113864:7;113873:6;113858:5;:22::i;:::-;113724:164;;:::o;129970:41::-;;;;;;;;;;;;;;;;;:::o;114150:64::-;114189:25;114150:64;:::o;80892:87::-;80938:7;80965:6;;;;;;;;;;;80958:13;;80892:87;:::o;78413:203::-;78548:7;78580:28;78602:5;78580:12;:18;78593:4;78580:18;;;;;;;;;;;:21;;:28;;;;:::i;:::-;78573:35;;78413:203;;;;:::o;132853:223::-;132921:4;132946:34;114119:24;132967:12;:10;:12::i;:::-;132946:7;:34::i;:::-;132938:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;133019:27;133035:2;133039:6;133019:15;:27::i;:::-;133064:4;133057:11;;132853:223;;;;:::o;71265:197::-;71396:4;71425:6;:12;71432:4;71425:12;;;;;;;;;;;:20;;:29;71446:7;71425:29;;;;;;;;;;;;;;;;;;;;;;;;;71418:36;;71265:197;;;;:::o;101346:104::-;101402:13;101435:7;101428:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;101346:104;:::o;129398:25::-;;;;:::o;141156:115::-;141215:7;141242:21;141259:3;141242:16;:21::i;:::-;141235:28;;141156:115;;;:::o;70294:49::-;70339:4;70294:49;;;:::o;139530:588::-;139651:4;139673:16;139692:11;:23;139704:10;139692:23;;;;;;;;;;;;;;;:32;139716:7;139692:32;;;;;;;;;;;;;;;;139673:51;;139758:8;139739:15;:27;139735:225;;139818:1;139783:11;:23;139795:10;139783:23;;;;;;;;;;;;;;;:32;139807:7;139783:32;;;;;;;;;;;;;;;:36;;;;139735:225;;;139887:61;139918:15;139887:8;:12;;:61;;;;:::i;:::-;139852:11;:23;139864:10;139852:23;;;;;;;;;;;;;;;:32;139876:7;139852:32;;;;;;;;;;;;;;;:96;;;;139735:225;140023:7;139975:113;;139998:10;139975:113;;;140045:11;:23;140057:10;140045:23;;;;;;;;;;;;;;;:32;140069:7;140045:32;;;;;;;;;;;;;;;;139975:113;;;;;;:::i;:::-;;;;;;;;140106:4;140099:11;;;139530:588;;;;:::o;134397:813::-;134522:4;134500:2;130420:3;130406:18;;:2;:18;;;130398:27;;;;;;130458:4;130444:19;;:2;:19;;;130436:28;;;;;;134577:5:::1;134552:21;134562:10;134552:9;:21::i;:::-;:30;;134544:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;134642:20;134716:28;134733:10;134716:16;:28::i;:::-;134692:9;:21;134702:10;134692:21;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;134677:67;;134788:20;134805:2;134788:16;:20::i;:::-;134772:9;:13;134782:2;134772:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;134756:52;;;;;:::i;:::-;;;134837:1;134822:12;:16;134819:89;;;134884:12;134869;;:27;;;;:::i;:::-;134854:12;:42;;;;134819:89;134942:39;134975:5;134942:28;134959:10;134942:16;:28::i;:::-;:32;;:39;;;;:::i;:::-;134918:9;:21;134928:10;134918:21;;;;;;;;;;;;;;;:63;;;;135008:31;135033:5;135008:20;135025:2;135008:16;:20::i;:::-;:24;;:31;;;;:::i;:::-;134992:9;:13;135002:2;134992:13;;;;;;;;;;;;;;;:47;;;;135052:37;135078:10;135052:25;:37::i;:::-;135100:29;135126:2;135100:25;:29::i;:::-;135168:2;135147:31;;135156:10;135147:31;;;135172:5;135147:31;;;;;;:::i;:::-;;;;;;;;135198:4;135191:11;;;134397:813:::0;;;;;:::o;78790:192::-;78915:7;78947:27;:12;:18;78960:4;78947:18;;;;;;;;;;;:25;:27::i;:::-;78940:34;;78790:192;;;:::o;142206:245::-;142331:4;80778:13;:11;:13::i;:::-;142372:49:::1;142402:5;142410:2;142414:6;142372:22;:49::i;:::-;142439:4;142432:11;;142206:245:::0;;;;;:::o;140163:985::-;140390:8;140371:15;:27;;140363:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;140435:14;140540:16;;129707:93;140686:5;140718:7;140752:5;140784:6;:13;140791:5;140784:13;;;;;;;;;;;;;;;;:15;;;;;;;;;:::i;:::-;;;;;140826:8;140607:250;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;140575:301;;;;;;140476:415;;;;;;;;;:::i;:::-;;;;;;;;;;;;;140452:450;;;;;;140435:467;;140940:1;140923:19;;:5;:19;;;140915:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;140997:26;141007:6;141015:1;141018;141021;140997:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;140988:35;;:5;:35;;;140980:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;141088:5;141058:11;:18;141070:5;141058:18;;;;;;;;;;;;;;;:27;141077:7;141058:27;;;;;;;;;;;;;;;:35;;;;141125:7;141109:31;;141118:5;141109:31;;;141134:5;141109:31;;;;;;:::i;:::-;;;;;;;;140352:796;140163:985;;;;;;;:::o;114081:62::-;114119:24;114081:62;:::o;73814:190::-;73934:18;73947:4;73934:12;:18::i;:::-;70785:16;70796:4;70785:10;:16::i;:::-;73970:26:::1;73982:4;73988:7;73970:11;:26::i;:::-;73814:190:::0;;;:::o;137418:186::-;137536:7;137568:11;:19;137580:6;137568:19;;;;;;;;;;;;;;;:28;137588:7;137568:28;;;;;;;;;;;;;;;;137561:35;;137418:186;;;;:::o;129111:34::-;;;;:::o;81798:238::-;80778:13;:11;:13::i;:::-;81921:1:::1;81901:22;;:8;:22;;::::0;81879:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;82000:28;82019:8;82000:18;:28::i;:::-;81798:238:::0;:::o;76225:::-;76309:22;76317:4;76323:7;76309;:22::i;:::-;76304:152;;76380:4;76348:6;:12;76355:4;76348:12;;;;;;;;;;;:20;;:29;76369:7;76348:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;76431:12;:10;:12::i;:::-;76404:40;;76422:7;76404:40;;76416:4;76404:40;;;;;;;;;;76304:152;76225:238;;:::o;8536:175::-;8624:4;8653:50;8658:3;:10;;8694:5;8678:23;;8670:32;;8653:4;:50::i;:::-;8646:57;;8536:175;;;;:::o;70893:280::-;71023:4;71080:32;71065:47;;;:11;:47;;;;:100;;;;71129:36;71153:11;71129:23;:36::i;:::-;71065:100;71045:120;;70893:280;;;:::o;68059:98::-;68112:7;68139:10;68132:17;;68059:98;:::o;123000:::-;123058:7;123089:1;123085;:5;;;;:::i;:::-;123078:12;;123000:98;;;;:::o;141279:630::-;141341:7;141365:8;:13;141374:3;141365:13;;;;;;;;;;;;;;;;;;;;;;;;;141361:541;;;141402:9;:14;141412:3;141402:14;;;;;;;;;;;;;;;;141395:21;;;;141361:541;141449:19;141518:1;141491:19;:24;141511:3;141491:24;;;;;;;;;;;;;;;;:28;:75;;;;;141565:1;141538:19;:24;141558:3;141538:24;;;;;;;;;;;;;;;;141523:12;:39;;;;:::i;:::-;:43;141491:75;141487:169;;;141616:19;:24;141636:3;141616:24;;;;;;;;;;;;;;;;141601:12;:39;;;;:::i;:::-;141587:53;;141487:169;141719:1;141710:6;141688:19;;141674:11;:33;;;;:::i;:::-;:42;;;;:::i;:::-;:46;141670:221;;;141819:6;141797:19;;141783:11;141766:9;:14;141776:3;141766:14;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;:50;;;;:::i;:::-;:59;;;;:::i;:::-;141748:9;:14;141758:3;141748:14;;;;;;;;;;;;;;;;:78;;;;:::i;:::-;141741:85;;;;;141670:221;141874:1;141867:8;;;141279:630;;;;:::o;122619:98::-;122677:7;122708:1;122704;:5;;;;:::i;:::-;122697:12;;122619:98;;;;:::o;131085:183::-;131170:19;:24;131190:3;131170:24;;;;;;;;;;;;;;;;131155:12;:39;131152:109;;;131237:12;131210:19;:24;131230:3;131210:24;;;;;;;;;;;;;;;:39;;;;131152:109;131085:183;:::o;71766:105::-;71833:30;71844:4;71850:12;:10;:12::i;:::-;71833:10;:30::i;:::-;71766:105;:::o;79075:201::-;79195:31;79212:4;79218:7;79195:16;:31::i;:::-;79237;79260:7;79237:12;:18;79250:4;79237:18;;;;;;;;;;;:22;;:31;;;;:::i;:::-;;79075:201;;:::o;81057:132::-;81132:12;:10;:12::i;:::-;81121:23;;:7;:5;:7::i;:::-;:23;;;81113:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;81057:132::o;79370:206::-;79491:32;79509:4;79515:7;79491:17;:32::i;:::-;79534:34;79560:7;79534:12;:18;79547:4;79534:18;;;;;;;;;;;:25;;:34;;;;:::i;:::-;;79370:206;;:::o;131586:397::-;131747:20;131764:2;131747:16;:20::i;:::-;131731:9;:13;131741:2;131731:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;131721:6;131706:12;;:21;;;;:::i;:::-;:62;;;;:::i;:::-;131691:12;:77;;;;131821:32;131846:6;131821:20;131838:2;131821:16;:20::i;:::-;:24;;:32;;;;:::i;:::-;131805:9;:13;131815:2;131805:13;;;;;;;;;;;;;;;:48;;;;131864:29;131890:2;131864:25;:29::i;:::-;131911:16;131916:2;131920:6;131911:16;;;;;;;:::i;:::-;;;;;;;;131964:2;131943:32;;131960:1;131943:32;;;131968:6;131943:32;;;;;;:::i;:::-;;;;;;;;131586:397;;:::o;132187:537::-;132271:6;132246:21;132256:10;132246:9;:21::i;:::-;:31;;132238:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;132435:28;132452:10;132435:16;:28::i;:::-;132411:9;:21;132421:10;132411:21;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;132401:6;132386:12;;:21;;;;:::i;:::-;:78;;;;:::i;:::-;132371:12;:93;;;;132530:40;132563:6;132530:28;132547:10;132530:16;:28::i;:::-;:32;;:40;;;;:::i;:::-;132506:9;:21;132516:10;132506:21;;;;;;;;;;;;;;;:64;;;;132581:37;132607:10;132581:25;:37::i;:::-;132636:24;132641:10;132653:6;132636:24;;;;;;;:::i;:::-;;;;;;;;132705:1;132676:40;;132685:10;132676:40;;;132709:6;132676:40;;;;;;:::i;:::-;;;;;;;;132187:537;:::o;82196:191::-;82270:16;82289:6;;;;;;;;;;;82270:25;;82315:8;82306:6;;:17;;;;;;;;;;;;;;;;;;82370:8;82339:40;;82360:8;82339:40;;;;;;;;;;;;82259:128;82196:191;:::o;110722:502::-;110857:24;110884:25;110894:5;110901:7;110884:9;:25::i;:::-;110857:52;;110944:17;110924:16;:37;110920:297;;111024:6;111004:16;:26;;110978:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;111139:51;111148:5;111155:7;111183:6;111164:16;:25;111139:8;:51::i;:::-;110920:297;110846:378;110722:502;;;:::o;108938:675::-;109041:1;109022:21;;:7;:21;;;109014:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;109094:49;109115:7;109132:1;109136:6;109094:20;:49::i;:::-;109156:22;109181:9;:18;109191:7;109181:18;;;;;;;;;;;;;;;;109156:43;;109236:6;109218:14;:24;;109210:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;109355:6;109338:14;:23;109317:9;:18;109327:7;109317:18;;;;;;;;;;;;;;;:44;;;;109472:6;109456:12;;:22;;;;;;;;;;;109533:1;109507:37;;109516:7;109507:37;;;109537:6;109507:37;;;;;;:::i;:::-;;;;;;;;109557:48;109577:7;109594:1;109598:6;109557:19;:48::i;:::-;109003:610;108938:675;;:::o;9910:190::-;10011:7;10067:22;10071:3;:10;;10083:5;10067:3;:22::i;:::-;10059:31;;10036:56;;9910:190;;;;:::o;133084:313::-;133205:24;133222:6;133205:12;;:16;;:24;;;;:::i;:::-;133190:12;:39;;;;133282:25;133300:6;133282:9;:13;133292:2;133282:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;133266:9;:13;133276:2;133266:13;;;;;;;;;;;;;;;:41;;;;133325:16;133330:2;133334:6;133325:16;;;;;;;:::i;:::-;;;;;;;;133378:2;133357:32;;133374:1;133357:32;;;133382:6;133357:32;;;;;;:::i;:::-;;;;;;;;133084:313;;:::o;9439:117::-;9502:7;9529:19;9537:3;:10;;9529:7;:19::i;:::-;9522:26;;9439:117;;;:::o;115225:248::-;115342:123;115376:5;115419:23;;;115444:2;115448:5;115396:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;115342:19;:123::i;:::-;115225:248;;;:::o;2061:414::-;2124:4;2146:21;2156:3;2161:5;2146:9;:21::i;:::-;2141:327;;2184:3;:11;;2201:5;2184:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:3;:11;;:18;;;;2345:3;:12;;:19;2358:5;2345:19;;;;;;;;;;;:40;;;;2407:4;2400:11;;;;2141:327;2451:5;2444:12;;2061:414;;;;;:::o;15472:207::-;15602:4;15646:25;15631:40;;;:11;:40;;;;15624:47;;15472:207;;;:::o;72161:492::-;72250:22;72258:4;72264:7;72250;:22::i;:::-;72245:401;;72438:28;72458:7;72438:19;:28::i;:::-;72539:38;72567:4;72559:13;;72574:2;72539:19;:38::i;:::-;72343:257;;;;;;;;;:::i;:::-;;;;;;;;;;;;;72289:345;;;;;;;;;;;:::i;:::-;;;;;;;;72245:401;72161:492;;:::o;76643:239::-;76727:22;76735:4;76741:7;76727;:22::i;:::-;76723:152;;;76798:5;76766:6;:12;76773:4;76766:12;;;;;;;;;;;:20;;:29;76787:7;76766:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;76850:12;:10;:12::i;:::-;76823:40;;76841:7;76823:40;;76835:4;76823:40;;;;;;;;;;76723:152;76643:239;;:::o;8887:181::-;8978:4;9007:53;9015:3;:10;;9051:5;9035:23;;9027:32;;9007:7;:53::i;:::-;9000:60;;8887:181;;;;:::o;110051:380::-;110204:1;110187:19;;:5;:19;;;110179:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;110285:1;110266:21;;:7;:21;;;110258:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;110369:6;110339:11;:18;110351:5;110339:18;;;;;;;;;;;;;;;:27;110358:7;110339:27;;;;;;;;;;;;;;;:36;;;;110407:7;110391:32;;110400:5;110391:32;;;110416:6;110391:32;;;;;;:::i;:::-;;;;;;;;110051:380;;;:::o;111824:125::-;;;;:::o;112553:124::-;;;;:::o;4867:152::-;4961:7;4993:3;:11;;5005:5;4993:18;;;;;;;;:::i;:::-;;;;;;;;;;4986:25;;4867:152;;;;:::o;4404:109::-;4460:7;4487:3;:11;;:18;;;;4480:25;;4404:109;;;:::o;118723:802::-;119147:23;119173:106;119215:4;119173:106;;;;;;;;;;;;;;;;;119181:5;119173:27;;;;:106;;;;;:::i;:::-;119147:132;;119314:1;119294:10;:17;:21;119290:228;;;119409:10;119398:30;;;;;;;;;;;;:::i;:::-;119372:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;119290:228;118793:732;118723:802;;:::o;4157:161::-;4257:4;4309:1;4286:3;:12;;:19;4299:5;4286:19;;;;;;;;;;;;:24;;4279:31;;4157:161;;;;:::o;62604:151::-;62662:13;62695:52;62723:4;62707:22;;60727:2;62695:52;;:11;:52::i;:::-;62688:59;;62604:151;;;:::o;61968:479::-;62070:13;62101:19;62146:1;62137:6;62133:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;62123:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;62101:47;;62159:15;:6;62166:1;62159:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;62185;:6;62192:1;62185:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;62216:9;62241:1;62232:6;62228:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;62216:26;;62211:131;62248:1;62244;:5;62211:131;;;62283:8;62300:3;62292:5;:11;62283:21;;;;;;;:::i;:::-;;;;;62271:6;62278:1;62271:9;;;;;;;;:::i;:::-;;;;;:33;;;;;;;;;;;62329:1;62319:11;;;;;62251:3;;;;:::i;:::-;;;62211:131;;;;62369:1;62360:5;:10;62352:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;62432:6;62418:21;;;61968:479;;;;:::o;2651:1420::-;2717:4;2835:18;2856:3;:12;;:19;2869:5;2856:19;;;;;;;;;;;;2835:40;;2906:1;2892:10;:15;2888:1176;;3267:21;3304:1;3291:10;:14;;;;:::i;:::-;3267:38;;3320:17;3361:1;3340:3;:11;;:18;;;;:22;;;;:::i;:::-;3320:42;;3396:13;3383:9;:26;3379:405;;3430:17;3450:3;:11;;3462:9;3450:22;;;;;;;;:::i;:::-;;;;;;;;;;3430:42;;3604:9;3575:3;:11;;3587:13;3575:26;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;3715:10;3689:3;:12;;:23;3702:9;3689:23;;;;;;;;;;;:36;;;;3411:373;3379:405;3865:3;:11;;:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3960:3;:12;;:19;3973:5;3960:19;;;;;;;;;;;3953:26;;;4003:4;3996:11;;;;;;;2888:1176;4047:5;4040:12;;;2651:1420;;;;;:::o;86628:229::-;86765:12;86797:52;86819:6;86827:4;86833:1;86836:12;86797:21;:52::i;:::-;86790:59;;86628:229;;;;;:::o;87844:612::-;88014:12;88086:5;88061:21;:30;;88039:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;88169:12;88183:23;88210:6;:11;;88229:5;88250:4;88210:55;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;88168:97;;;;88296:152;88341:6;88366:7;88392:10;88421:12;88296:26;:152::i;:::-;88276:172;;;;87844:612;;;;;;:::o;90979:644::-;91164:12;91193:7;91189:427;;;91242:1;91221:10;:17;:22;91217:290;;91439:18;91450:6;91439:10;:18::i;:::-;91431:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;91217:290;91528:10;91521:17;;;;91189:427;91571:33;91579:10;91591:12;91571:7;:33::i;:::-;90979:644;;;;;;;:::o;83678:326::-;83738:4;83995:1;83973:7;:19;;;:23;83966:30;;83678:326;;;:::o;92165:575::-;92369:1;92349:10;:17;:21;92345:388;;;92581:10;92575:17;92638:15;92625:10;92621:2;92617:19;92610:44;92345:388;92708:12;92701:20;;;;;;;;;;;:::i;:::-;;;;;;;;88:117:1;197:1;194;187: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:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:126::-;2897:7;2937:42;2930:5;2926:54;2915:65;;2860:126;;;:::o;2992:96::-;3029:7;3058:24;3076:5;3058:24;:::i;:::-;3047:35;;2992:96;;;:::o;3094:122::-;3167:24;3185:5;3167:24;:::i;:::-;3160:5;3157:35;3147:63;;3206:1;3203;3196:12;3147:63;3094:122;:::o;3222:139::-;3268:5;3306:6;3293:20;3284:29;;3322:33;3349:5;3322:33;:::i;:::-;3222:139;;;;:::o;3367:77::-;3404:7;3433:5;3422:16;;3367:77;;;:::o;3450:122::-;3523:24;3541:5;3523:24;:::i;:::-;3516:5;3513:35;3503:63;;3562:1;3559;3552:12;3503:63;3450:122;:::o;3578:139::-;3624:5;3662:6;3649:20;3640:29;;3678:33;3705:5;3678:33;:::i;:::-;3578:139;;;;:::o;3723:474::-;3791:6;3799;3848:2;3836:9;3827:7;3823:23;3819:32;3816:119;;;3854:79;;:::i;:::-;3816:119;3974:1;3999:53;4044:7;4035:6;4024:9;4020:22;3999:53;:::i;:::-;3989:63;;3945:117;4101:2;4127:53;4172:7;4163:6;4152:9;4148:22;4127:53;:::i;:::-;4117:63;;4072:118;3723:474;;;;;:::o;4203:329::-;4262:6;4311:2;4299:9;4290:7;4286:23;4282:32;4279:119;;;4317:79;;:::i;:::-;4279:119;4437:1;4462:53;4507:7;4498:6;4487:9;4483:22;4462:53;:::i;:::-;4452:63;;4408:117;4203:329;;;;:::o;4538:118::-;4625:24;4643:5;4625:24;:::i;:::-;4620:3;4613:37;4538:118;;:::o;4662:222::-;4755:4;4793:2;4782:9;4778:18;4770:26;;4806:71;4874:1;4863:9;4859:17;4850:6;4806:71;:::i;:::-;4662:222;;;;:::o;4890:77::-;4927:7;4956:5;4945:16;;4890:77;;;:::o;4973:118::-;5060:24;5078:5;5060:24;:::i;:::-;5055:3;5048:37;4973:118;;:::o;5097:222::-;5190:4;5228:2;5217:9;5213:18;5205:26;;5241:71;5309:1;5298:9;5294:17;5285:6;5241:71;:::i;:::-;5097:222;;;;:::o;5325:619::-;5402:6;5410;5418;5467:2;5455:9;5446:7;5442:23;5438:32;5435:119;;;5473:79;;:::i;:::-;5435:119;5593:1;5618:53;5663:7;5654:6;5643:9;5639:22;5618:53;:::i;:::-;5608:63;;5564:117;5720:2;5746:53;5791:7;5782:6;5771:9;5767:22;5746:53;:::i;:::-;5736:63;;5691:118;5848:2;5874:53;5919:7;5910:6;5899:9;5895:22;5874:53;:::i;:::-;5864:63;;5819:118;5325:619;;;;;:::o;5950:122::-;6023:24;6041:5;6023:24;:::i;:::-;6016:5;6013:35;6003:63;;6062:1;6059;6052:12;6003:63;5950:122;:::o;6078:139::-;6124:5;6162:6;6149:20;6140:29;;6178:33;6205:5;6178:33;:::i;:::-;6078:139;;;;:::o;6223:329::-;6282:6;6331:2;6319:9;6310:7;6306:23;6302:32;6299:119;;;6337:79;;:::i;:::-;6299:119;6457:1;6482:53;6527:7;6518:6;6507:9;6503:22;6482:53;:::i;:::-;6472:63;;6428:117;6223:329;;;;:::o;6558:474::-;6626:6;6634;6683:2;6671:9;6662:7;6658:23;6654:32;6651:119;;;6689:79;;:::i;:::-;6651:119;6809:1;6834:53;6879:7;6870:6;6859:9;6855:22;6834:53;:::i;:::-;6824:63;;6780:117;6936:2;6962:53;7007:7;6998:6;6987:9;6983:22;6962:53;:::i;:::-;6952:63;;6907:118;6558:474;;;;;:::o;7038:86::-;7073:7;7113:4;7106:5;7102:16;7091:27;;7038:86;;;:::o;7130:112::-;7213:22;7229:5;7213:22;:::i;:::-;7208:3;7201:35;7130:112;;:::o;7248:214::-;7337:4;7375:2;7364:9;7360:18;7352:26;;7388:67;7452:1;7441:9;7437:17;7428:6;7388:67;:::i;:::-;7248:214;;;;:::o;7468:116::-;7538:21;7553:5;7538:21;:::i;:::-;7531:5;7528:32;7518:60;;7574:1;7571;7564:12;7518:60;7468:116;:::o;7590:133::-;7633:5;7671:6;7658:20;7649:29;;7687:30;7711:5;7687:30;:::i;:::-;7590:133;;;;:::o;7729:468::-;7794:6;7802;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;8104:2;8130:50;8172:7;8163:6;8152:9;8148:22;8130:50;:::i;:::-;8120:60;;8075:115;7729:468;;;;;:::o;8203:329::-;8262:6;8311:2;8299:9;8290:7;8286:23;8282:32;8279:119;;;8317:79;;:::i;:::-;8279:119;8437:1;8462:53;8507:7;8498:6;8487:9;8483:22;8462:53;:::i;:::-;8452:63;;8408:117;8203:329;;;;:::o;8538:118::-;8625:24;8643:5;8625:24;:::i;:::-;8620:3;8613:37;8538:118;;:::o;8662:222::-;8755:4;8793:2;8782:9;8778:18;8770:26;;8806:71;8874:1;8863:9;8859:17;8850:6;8806:71;:::i;:::-;8662:222;;;;:::o;8890:474::-;8958:6;8966;9015:2;9003:9;8994:7;8990:23;8986:32;8983:119;;;9021:79;;:::i;:::-;8983:119;9141:1;9166:53;9211:7;9202:6;9191:9;9187:22;9166:53;:::i;:::-;9156:63;;9112:117;9268:2;9294:53;9339:7;9330:6;9319:9;9315:22;9294:53;:::i;:::-;9284:63;;9239:118;8890:474;;;;;:::o;9370:118::-;9441:22;9457:5;9441:22;:::i;:::-;9434:5;9431:33;9421:61;;9478:1;9475;9468:12;9421:61;9370:118;:::o;9494:135::-;9538:5;9576:6;9563:20;9554:29;;9592:31;9617:5;9592:31;:::i;:::-;9494:135;;;;:::o;9635:1199::-;9746:6;9754;9762;9770;9778;9786;9794;9843:3;9831:9;9822:7;9818:23;9814:33;9811:120;;;9850:79;;:::i;:::-;9811:120;9970:1;9995:53;10040:7;10031:6;10020:9;10016:22;9995:53;:::i;:::-;9985:63;;9941:117;10097:2;10123:53;10168:7;10159:6;10148:9;10144:22;10123:53;:::i;:::-;10113:63;;10068:118;10225:2;10251:53;10296:7;10287:6;10276:9;10272:22;10251:53;:::i;:::-;10241:63;;10196:118;10353:2;10379:53;10424:7;10415:6;10404:9;10400:22;10379:53;:::i;:::-;10369:63;;10324:118;10481:3;10508:51;10551:7;10542:6;10531:9;10527:22;10508:51;:::i;:::-;10498:61;;10452:117;10608:3;10635:53;10680:7;10671:6;10660:9;10656:22;10635:53;:::i;:::-;10625:63;;10579:119;10737:3;10764:53;10809:7;10800:6;10789:9;10785:22;10764:53;:::i;:::-;10754:63;;10708:119;9635:1199;;;;;;;;;;:::o;10840:474::-;10908:6;10916;10965:2;10953:9;10944:7;10940:23;10936:32;10933:119;;;10971:79;;:::i;:::-;10933:119;11091:1;11116:53;11161:7;11152:6;11141:9;11137:22;11116:53;:::i;:::-;11106:63;;11062:117;11218:2;11244:53;11289:7;11280:6;11269:9;11265:22;11244:53;:::i;:::-;11234:63;;11189:118;10840:474;;;;;:::o;11320:180::-;11368:77;11365:1;11358:88;11465:4;11462:1;11455:15;11489:4;11486:1;11479:15;11506:320;11550:6;11587:1;11581:4;11577:12;11567:22;;11634:1;11628:4;11624:12;11655:18;11645:81;;11711:4;11703:6;11699:17;11689:27;;11645:81;11773:2;11765:6;11762:14;11742:18;11739:38;11736:84;;11792:18;;:::i;:::-;11736:84;11557:269;11506:320;;;:::o;11832:229::-;11972:34;11968:1;11960:6;11956:14;11949:58;12041:12;12036:2;12028:6;12024:15;12017:37;11832:229;:::o;12067:366::-;12209:3;12230:67;12294:2;12289:3;12230:67;:::i;:::-;12223:74;;12306:93;12395:3;12306:93;:::i;:::-;12424:2;12419:3;12415:12;12408:19;;12067:366;;;:::o;12439:419::-;12605:4;12643:2;12632:9;12628:18;12620:26;;12692:9;12686:4;12682:20;12678:1;12667:9;12663:17;12656:47;12720:131;12846:4;12720:131;:::i;:::-;12712:139;;12439:419;;;:::o;12864:226::-;13004:34;13000:1;12992:6;12988:14;12981:58;13073:9;13068:2;13060:6;13056:15;13049:34;12864:226;:::o;13096:366::-;13238:3;13259:67;13323:2;13318:3;13259:67;:::i;:::-;13252:74;;13335:93;13424:3;13335:93;:::i;:::-;13453:2;13448:3;13444:12;13437:19;;13096:366;;;:::o;13468:419::-;13634:4;13672:2;13661:9;13657:18;13649:26;;13721:9;13715:4;13711:20;13707:1;13696:9;13692:17;13685:47;13749:131;13875:4;13749:131;:::i;:::-;13741:139;;13468:419;;;:::o;13893:180::-;13941:77;13938:1;13931:88;14038:4;14035:1;14028:15;14062:4;14059:1;14052:15;14079:194;14119:4;14139:20;14157:1;14139:20;:::i;:::-;14134:25;;14173:20;14191:1;14173:20;:::i;:::-;14168:25;;14217:1;14214;14210:9;14202:17;;14241:1;14235:4;14232:11;14229:37;;;14246:18;;:::i;:::-;14229:37;14079:194;;;;:::o;14279:191::-;14319:3;14338:20;14356:1;14338:20;:::i;:::-;14333:25;;14372:20;14390:1;14372:20;:::i;:::-;14367:25;;14415:1;14412;14408:9;14401:16;;14436:3;14433:1;14430:10;14427:36;;;14443:18;;:::i;:::-;14427:36;14279:191;;;;:::o;14476:234::-;14616:34;14612:1;14604:6;14600:14;14593:58;14685:17;14680:2;14672:6;14668:15;14661:42;14476:234;:::o;14716:366::-;14858:3;14879:67;14943:2;14938:3;14879:67;:::i;:::-;14872:74;;14955:93;15044:3;14955:93;:::i;:::-;15073:2;15068:3;15064:12;15057:19;;14716:366;;;:::o;15088:419::-;15254:4;15292:2;15281:9;15277:18;15269:26;;15341:9;15335:4;15331:20;15327:1;15316:9;15312:17;15305:47;15369:131;15495:4;15369:131;:::i;:::-;15361:139;;15088:419;;;:::o;15513:171::-;15653:23;15649:1;15641:6;15637:14;15630:47;15513:171;:::o;15690:366::-;15832:3;15853:67;15917:2;15912:3;15853:67;:::i;:::-;15846:74;;15929:93;16018:3;15929:93;:::i;:::-;16047:2;16042:3;16038:12;16031:19;;15690:366;;;:::o;16062:419::-;16228:4;16266:2;16255:9;16251:18;16243:26;;16315:9;16309:4;16305:20;16301:1;16290:9;16286:17;16279:47;16343:131;16469:4;16343:131;:::i;:::-;16335:139;;16062:419;;;:::o;16487:169::-;16627:21;16623:1;16615:6;16611:14;16604:45;16487:169;:::o;16662:366::-;16804:3;16825:67;16889:2;16884:3;16825:67;:::i;:::-;16818:74;;16901:93;16990:3;16901:93;:::i;:::-;17019:2;17014:3;17010:12;17003:19;;16662:366;;;:::o;17034:419::-;17200:4;17238:2;17227:9;17223:18;17215:26;;17287:9;17281:4;17277:20;17273:1;17262:9;17258:17;17251:47;17315:131;17441:4;17315:131;:::i;:::-;17307:139;;17034:419;;;:::o;17459:233::-;17498:3;17521:24;17539:5;17521:24;:::i;:::-;17512:33;;17567:66;17560:5;17557:77;17554:103;;17637:18;;:::i;:::-;17554:103;17684:1;17677:5;17673:13;17666:20;;17459:233;;;:::o;17698:775::-;17931:4;17969:3;17958:9;17954:19;17946:27;;17983:71;18051:1;18040:9;18036:17;18027:6;17983:71;:::i;:::-;18064:72;18132:2;18121:9;18117:18;18108:6;18064:72;:::i;:::-;18146;18214:2;18203:9;18199:18;18190:6;18146:72;:::i;:::-;18228;18296:2;18285:9;18281:18;18272:6;18228:72;:::i;:::-;18310:73;18378:3;18367:9;18363:19;18354:6;18310:73;:::i;:::-;18393;18461:3;18450:9;18446:19;18437:6;18393:73;:::i;:::-;17698:775;;;;;;;;;:::o;18479:148::-;18581:11;18618:3;18603:18;;18479:148;;;;:::o;18633:214::-;18773:66;18769:1;18761:6;18757:14;18750:90;18633:214;:::o;18853:400::-;19013:3;19034:84;19116:1;19111:3;19034:84;:::i;:::-;19027:91;;19127:93;19216:3;19127:93;:::i;:::-;19245:1;19240:3;19236:11;19229:18;;18853:400;;;:::o;19259:79::-;19298:7;19327:5;19316:16;;19259:79;;;:::o;19344:157::-;19449:45;19469:24;19487:5;19469:24;:::i;:::-;19449:45;:::i;:::-;19444:3;19437:58;19344:157;;:::o;19507:663::-;19748:3;19770:148;19914:3;19770:148;:::i;:::-;19763:155;;19928:75;19999:3;19990:6;19928:75;:::i;:::-;20028:2;20023:3;20019:12;20012:19;;20041:75;20112:3;20103:6;20041:75;:::i;:::-;20141:2;20136:3;20132:12;20125:19;;20161:3;20154:10;;19507:663;;;;;:::o;20176:172::-;20316:24;20312:1;20304:6;20300:14;20293:48;20176:172;:::o;20354:366::-;20496:3;20517:67;20581:2;20576:3;20517:67;:::i;:::-;20510:74;;20593:93;20682:3;20593:93;:::i;:::-;20711:2;20706:3;20702:12;20695:19;;20354:366;;;:::o;20726:419::-;20892:4;20930:2;20919:9;20915:18;20907:26;;20979:9;20973:4;20969:20;20965:1;20954:9;20950:17;20943:47;21007:131;21133:4;21007:131;:::i;:::-;20999:139;;20726:419;;;:::o;21151:545::-;21324:4;21362:3;21351:9;21347:19;21339:27;;21376:71;21444:1;21433:9;21429:17;21420:6;21376:71;:::i;:::-;21457:68;21521:2;21510:9;21506:18;21497:6;21457:68;:::i;:::-;21535:72;21603:2;21592:9;21588:18;21579:6;21535:72;:::i;:::-;21617;21685:2;21674:9;21670:18;21661:6;21617:72;:::i;:::-;21151:545;;;;;;;:::o;21702:169::-;21842:21;21838:1;21830:6;21826:14;21819:45;21702:169;:::o;21877:366::-;22019:3;22040:67;22104:2;22099:3;22040:67;:::i;:::-;22033:74;;22116:93;22205:3;22116:93;:::i;:::-;22234:2;22229:3;22225:12;22218:19;;21877:366;;;:::o;22249:419::-;22415:4;22453:2;22442:9;22438:18;22430:26;;22502:9;22496:4;22492:20;22488:1;22477:9;22473:17;22466:47;22530:131;22656:4;22530:131;:::i;:::-;22522:139;;22249:419;;;:::o;22674:225::-;22814:34;22810:1;22802:6;22798:14;22791:58;22883:8;22878:2;22870:6;22866:15;22859:33;22674:225;:::o;22905:366::-;23047:3;23068:67;23132:2;23127:3;23068:67;:::i;:::-;23061:74;;23144:93;23233:3;23144:93;:::i;:::-;23262:2;23257:3;23253:12;23246:19;;22905:366;;;:::o;23277:419::-;23443:4;23481:2;23470:9;23466:18;23458:26;;23530:9;23524:4;23520:20;23516:1;23505:9;23501:17;23494:47;23558:131;23684:4;23558:131;:::i;:::-;23550:139;;23277:419;;;:::o;23702:410::-;23742:7;23765:20;23783:1;23765:20;:::i;:::-;23760:25;;23799:20;23817:1;23799:20;:::i;:::-;23794:25;;23854:1;23851;23847:9;23876:30;23894:11;23876:30;:::i;:::-;23865:41;;24055:1;24046:7;24042:15;24039:1;24036:22;24016:1;24009:9;23989:83;23966:139;;24085:18;;:::i;:::-;23966:139;23750:362;23702:410;;;;:::o;24118:180::-;24166:77;24163:1;24156:88;24263:4;24260:1;24253:15;24287:4;24284:1;24277:15;24304:185;24344:1;24361:20;24379:1;24361:20;:::i;:::-;24356:25;;24395:20;24413:1;24395:20;:::i;:::-;24390:25;;24434:1;24424:35;;24439:18;;:::i;:::-;24424:35;24481:1;24478;24474:9;24469:14;;24304:185;;;;:::o;24495:182::-;24635:34;24631:1;24623:6;24619:14;24612:58;24495:182;:::o;24683:366::-;24825:3;24846:67;24910:2;24905:3;24846:67;:::i;:::-;24839:74;;24922:93;25011:3;24922:93;:::i;:::-;25040:2;25035:3;25031:12;25024:19;;24683:366;;;:::o;25055:419::-;25221:4;25259:2;25248:9;25244:18;25236:26;;25308:9;25302:4;25298:20;25294:1;25283:9;25279:17;25272:47;25336:131;25462:4;25336:131;:::i;:::-;25328:139;;25055:419;;;:::o;25480:332::-;25601:4;25639:2;25628:9;25624:18;25616:26;;25652:71;25720:1;25709:9;25705:17;25696:6;25652:71;:::i;:::-;25733:72;25801:2;25790:9;25786:18;25777:6;25733:72;:::i;:::-;25480:332;;;;;:::o;25818:232::-;25958:34;25954:1;25946:6;25942:14;25935:58;26027:15;26022:2;26014:6;26010:15;26003:40;25818:232;:::o;26056:366::-;26198:3;26219:67;26283:2;26278:3;26219:67;:::i;:::-;26212:74;;26295:93;26384:3;26295:93;:::i;:::-;26413:2;26408:3;26404:12;26397:19;;26056:366;;;:::o;26428:419::-;26594:4;26632:2;26621:9;26617:18;26609:26;;26681:9;26675:4;26671:20;26667:1;26656:9;26652:17;26645:47;26709:131;26835:4;26709:131;:::i;:::-;26701:139;;26428:419;;;:::o;26853:179::-;26993:31;26989:1;26981:6;26977:14;26970:55;26853:179;:::o;27038:366::-;27180:3;27201:67;27265:2;27260:3;27201:67;:::i;:::-;27194:74;;27277:93;27366:3;27277:93;:::i;:::-;27395:2;27390:3;27386:12;27379:19;;27038:366;;;:::o;27410:419::-;27576:4;27614:2;27603:9;27599:18;27591:26;;27663:9;27657:4;27653:20;27649:1;27638:9;27634:17;27627:47;27691:131;27817:4;27691:131;:::i;:::-;27683:139;;27410:419;;;:::o;27835:220::-;27975:34;27971:1;27963:6;27959:14;27952:58;28044:3;28039:2;28031:6;28027:15;28020:28;27835:220;:::o;28061:366::-;28203:3;28224:67;28288:2;28283:3;28224:67;:::i;:::-;28217:74;;28300:93;28389:3;28300:93;:::i;:::-;28418:2;28413:3;28409:12;28402:19;;28061:366;;;:::o;28433:419::-;28599:4;28637:2;28626:9;28622:18;28614:26;;28686:9;28680:4;28676:20;28672:1;28661:9;28657:17;28650:47;28714:131;28840:4;28714:131;:::i;:::-;28706:139;;28433:419;;;:::o;28858:221::-;28998:34;28994:1;28986:6;28982:14;28975:58;29067:4;29062:2;29054:6;29050:15;29043:29;28858:221;:::o;29085:366::-;29227:3;29248:67;29312:2;29307:3;29248:67;:::i;:::-;29241:74;;29324:93;29413:3;29324:93;:::i;:::-;29442:2;29437:3;29433:12;29426:19;;29085:366;;;:::o;29457:419::-;29623:4;29661:2;29650:9;29646:18;29638:26;;29710:9;29704:4;29700:20;29696:1;29685:9;29681:17;29674:47;29738:131;29864:4;29738:131;:::i;:::-;29730:139;;29457:419;;;:::o;29882:173::-;30022:25;30018:1;30010:6;30006:14;29999:49;29882:173;:::o;30061:402::-;30221:3;30242:85;30324:2;30319:3;30242:85;:::i;:::-;30235:92;;30336:93;30425:3;30336:93;:::i;:::-;30454:2;30449:3;30445:12;30438:19;;30061:402;;;:::o;30469:390::-;30575:3;30603:39;30636:5;30603:39;:::i;:::-;30658:89;30740:6;30735:3;30658:89;:::i;:::-;30651:96;;30756:65;30814:6;30809:3;30802:4;30795:5;30791:16;30756:65;:::i;:::-;30846:6;30841:3;30837:16;30830:23;;30579:280;30469:390;;;;:::o;30865:167::-;31005:19;31001:1;30993:6;30989:14;30982:43;30865:167;:::o;31038:402::-;31198:3;31219:85;31301:2;31296:3;31219:85;:::i;:::-;31212:92;;31313:93;31402:3;31313:93;:::i;:::-;31431:2;31426:3;31422:12;31415:19;;31038:402;;;:::o;31446:967::-;31828:3;31850:148;31994:3;31850:148;:::i;:::-;31843:155;;32015:95;32106:3;32097:6;32015:95;:::i;:::-;32008:102;;32127:148;32271:3;32127:148;:::i;:::-;32120:155;;32292:95;32383:3;32374:6;32292:95;:::i;:::-;32285:102;;32404:3;32397:10;;31446:967;;;;;:::o;32419:223::-;32559:34;32555:1;32547:6;32543:14;32536:58;32628:6;32623:2;32615:6;32611:15;32604:31;32419:223;:::o;32648:366::-;32790:3;32811:67;32875:2;32870:3;32811:67;:::i;:::-;32804:74;;32887:93;32976:3;32887:93;:::i;:::-;33005:2;33000:3;32996:12;32989:19;;32648:366;;;:::o;33020:419::-;33186:4;33224:2;33213:9;33209:18;33201:26;;33273:9;33267:4;33263:20;33259:1;33248:9;33244:17;33237:47;33301:131;33427:4;33301:131;:::i;:::-;33293:139;;33020:419;;;:::o;33445:221::-;33585:34;33581:1;33573:6;33569:14;33562:58;33654:4;33649:2;33641:6;33637:15;33630:29;33445:221;:::o;33672:366::-;33814:3;33835:67;33899:2;33894:3;33835:67;:::i;:::-;33828:74;;33911:93;34000:3;33911:93;:::i;:::-;34029:2;34024:3;34020:12;34013:19;;33672:366;;;:::o;34044:419::-;34210:4;34248:2;34237:9;34233:18;34225:26;;34297:9;34291:4;34287:20;34283:1;34272:9;34268:17;34261:47;34325:131;34451:4;34325:131;:::i;:::-;34317:139;;34044:419;;;:::o;34469:180::-;34517:77;34514:1;34507:88;34614:4;34611:1;34604:15;34638:4;34635:1;34628:15;34655:137;34709:5;34740:6;34734:13;34725:22;;34756:30;34780:5;34756:30;:::i;:::-;34655:137;;;;:::o;34798:345::-;34865:6;34914:2;34902:9;34893:7;34889:23;34885:32;34882:119;;;34920:79;;:::i;:::-;34882:119;35040:1;35065:61;35118:7;35109:6;35098:9;35094:22;35065:61;:::i;:::-;35055:71;;35011:125;34798:345;;;;:::o;35149:229::-;35289:34;35285:1;35277:6;35273:14;35266:58;35358:12;35353:2;35345:6;35341:15;35334:37;35149:229;:::o;35384:366::-;35526:3;35547:67;35611:2;35606:3;35547:67;:::i;:::-;35540:74;;35623:93;35712:3;35623:93;:::i;:::-;35741:2;35736:3;35732:12;35725:19;;35384:366;;;:::o;35756:419::-;35922:4;35960:2;35949:9;35945:18;35937:26;;36009:9;36003:4;35999:20;35995:1;35984:9;35980:17;35973:47;36037:131;36163:4;36037:131;:::i;:::-;36029:139;;35756:419;;;:::o;36181:180::-;36229:77;36226:1;36219:88;36326:4;36323:1;36316:15;36350:4;36347:1;36340:15;36367:171;36406:3;36429:24;36447:5;36429:24;:::i;:::-;36420:33;;36475:4;36468:5;36465:15;36462:41;;36483:18;;:::i;:::-;36462:41;36530:1;36523:5;36519:13;36512:20;;36367:171;;;:::o;36544:182::-;36684:34;36680:1;36672:6;36668:14;36661:58;36544:182;:::o;36732:366::-;36874:3;36895:67;36959:2;36954:3;36895:67;:::i;:::-;36888:74;;36971:93;37060:3;36971:93;:::i;:::-;37089:2;37084:3;37080:12;37073:19;;36732:366;;;:::o;37104:419::-;37270:4;37308:2;37297:9;37293:18;37285:26;;37357:9;37351:4;37347:20;37343:1;37332:9;37328:17;37321:47;37385:131;37511:4;37385:131;:::i;:::-;37377:139;;37104:419;;;:::o;37529:180::-;37577:77;37574:1;37567:88;37674:4;37671:1;37664:15;37698:4;37695:1;37688:15;37715:225;37855:34;37851:1;37843:6;37839:14;37832:58;37924:8;37919:2;37911:6;37907:15;37900:33;37715:225;:::o;37946:366::-;38088:3;38109:67;38173:2;38168:3;38109:67;:::i;:::-;38102:74;;38185:93;38274:3;38185:93;:::i;:::-;38303:2;38298:3;38294:12;38287:19;;37946:366;;;:::o;38318:419::-;38484:4;38522:2;38511:9;38507:18;38499:26;;38571:9;38565:4;38561:20;38557:1;38546:9;38542:17;38535:47;38599:131;38725:4;38599:131;:::i;:::-;38591:139;;38318:419;;;:::o;38743:98::-;38794:6;38828:5;38822:12;38812:22;;38743:98;;;:::o;38847:147::-;38948:11;38985:3;38970:18;;38847:147;;;;:::o;39000:386::-;39104:3;39132:38;39164:5;39132:38;:::i;:::-;39186:88;39267:6;39262:3;39186:88;:::i;:::-;39179:95;;39283:65;39341:6;39336:3;39329:4;39322:5;39318:16;39283:65;:::i;:::-;39373:6;39368:3;39364:16;39357:23;;39108:278;39000:386;;;;:::o;39392:271::-;39522:3;39544:93;39633:3;39624:6;39544:93;:::i;:::-;39537:100;;39654:3;39647:10;;39392:271;;;;:::o;39669:179::-;39809:31;39805:1;39797:6;39793:14;39786:55;39669:179;:::o;39854:366::-;39996:3;40017:67;40081:2;40076:3;40017:67;:::i;:::-;40010:74;;40093:93;40182:3;40093:93;:::i;:::-;40211:2;40206:3;40202:12;40195:19;;39854:366;;;:::o;40226:419::-;40392:4;40430:2;40419:9;40415:18;40407:26;;40479:9;40473:4;40469:20;40465:1;40454:9;40450:17;40443:47;40507:131;40633:4;40507:131;:::i;:::-;40499:139;;40226:419;;;:::o
Swarm Source
ipfs://09693c35037f769a9fc980f96f3b5b2dc4e9c01e4d2816c65fb12eca39753821
🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Custom Contract ABI

                                
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.

Etherscan Logo Etherscan Logo
Etherscan AI Beta
Holders Overview


Etherscan AI can make mistakes, please DYOR. Not financial advice